2

Я создал этот командный файл. Цель состоит в том, чтобы выполнить циклическое выполнение группы файлов и изменить их размер от 8 МБ до 18 МБ.

Такими файлами являются rubbi8.txt , rubbi9.txt , rubbi9.txt , ... rubbi18.txt

Мой сценарий:

for i in {8..18}
do
  "truncate -s $im rubbi$i.txt"
done

Результат:

./kk3.sh: line 4: truncate -s  rubbi8.txt: command not found
./kk3.sh: line 4: truncate -s  rubbi9.txt: command not found
./kk3.sh: line 4: truncate -s  rubbi10.txt: command not found
./kk3.sh: line 4: truncate -s  rubbi11.txt: command not found

Как я могу настроить аргументы для команды усечения?

Благодаря JVB. Правильный формат команды:--->


для меня в {8..18}
делать
усечь -s $ {i} m rubbi $ {i} .txt
сделанный


2 ответа2

3

Удалите кавычки вокруг вашей команды усечения и используйте фигурные скобки ${i} чтобы указать конец имени переменной.

for i in {8..18}
do
  truncate -s ${i}m rubbi${i}.txt
done
1

Кавычки сделают truncate -s rubbi8.txt (и т.д.) Именем команды - с пробелами и параметрами как частями имени исполняемого файла - которого не существует.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .