Выполнять команды с фигурными скобками на 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
Другие вопросы по тегам