Значение использования Shell от того, чтобы цикл определил имя файлов

Я хочу использовать Shell, чтобы запустить мой скрипт Python и использовать переменную от того, чтобы цикл назвал мой выходной файл

for i in 1 2 3 4 5
do
setsid python main.py 1>data/$i$_logfile.txt 2>&1
done

Но я добрался 1.txt нет 1_logfile.txt. Как я могу сделать это успешно?

1
задан 12 July 2019 в 15:02

1 ответ

Поскольку _ допустимый символ для имени переменной, необходимо использовать ${varname} синтаксис, чтобы позволить оболочке знать конец имени переменной. Иначе Вы имеете $i и $_logfile как переменные, но последний пусто.

Синтаксис $i$ не существует.

Использование:

setsid python main.py 1>data/${i}_logfile.txt 2>&1

Обратите внимание, что $variable является на самом деле упрощенной формой $ {переменная}. В контекстах, где синтаксис $variable вызывает ошибку, может работать более длинная форма. (через)

1
ответ дан 7 December 2019 в 15:00

Другие вопросы по тегам:

Похожие вопросы: