Я пытаюсь перебрать список серверов и вместо того, чтобы вручную вводить каждый в текстовый файл, я хотел использовать выражение.Проблема с выражением в for Loop-Bash
Пример:
[[email protected] ~]$ for i in server{001..010} ; do echo $i ; done
server001
server002
server003
server004
server005
server006
server007
server008
server009
server010
, который производит желаемый результат. Однако, когда я ставлю сервер {001..010} в файл .txt и попытаться сделать то же самое, он не работает:
[[email protected] ~]$ cat server_test2.txt
server{001..010}
[[email protected] ~]$ for i in `cat server_test2.txt` ; do echo $i ; done
server{001..010}
Как вы можете видеть, что это фактически не обрабатывает выражение Кстати, я бы хотел.
Любые идеи, как я могу экстраполировать из txt-файла с несколькими строками серверов с использованием метода выражения? {001..010}
Порядок действий. Выход из подстановки команды не расширяется. –
См. Http://stackoverflow.com/questions/9337489/bash-curly-brace-expansion-with-variable-for-mkdir – chrisinmtown
Здесь перечислены порядок расширений: https://www.gnu.org/software /bash/manual/bashref.html#Shell-Expansions –