Выполнять команды с фигурными скобками на bash
Я хотел бы знать, почему следующая команда не работает в Bash и как можно заставить ее работать:
/etc/init.d/{httpd,nscd} status
Спасибо
2 ответа
Решение
Ваша команда не работает, потому что она будет выполнена:
/etc/init.d/httpd /etc/init.d/nscd status
Одним из способов достижения того, что вы хотите, было бы использование цикла:
for util in /etc/init.d/{httpd,nscd} ; do
${util} status
done
Это не работает, потому что это только расширяет путь. Попробуй это.
$ echo /etc/init.d/{httpd,nscd} status
$ /etc/init.d/httpd /etc/init.d/nscd status