#bash #for-loop #syntax #touch
#bash #for-цикл #синтаксис #прикосновение
Вопрос:
при выполнении этого кода я получаю эту ошибку:
синтаксическая ошибка рядом с неожиданным ('
касанием токена FILE $i FILE ($ i 1); ‘
что не так?
#!/bin/bash
for ((i=1; i<=99; i ));
do
touch FILE$i FILE($i 1);
ln -s FILE$i FILE($i 1);
done
Комментарии:
1. Не по теме: когда вы собираетесь
ln -s FILE 1 FILE2
, вам не нужно сначала касаться FILE2. Ваш код пытается создать цепочку символических ссылок. Вы уверены, что хотите этого, или хотите, чтобы FILE2, .., FILE99 были связаны с FILE1. В этом случае вы можете захотетьtouch FILE1; for ((i=2;i<=99;i ));do ln -s FILE$i; done
.
Ответ №1:
Для выполнения арифметических действий используйте $((...))
синтаксис:
touch FILE$i FILE$(($i 1))
См https://www.gnu.org/software/bash/manual/bash.html#Arithmetic-Expansion