【发布时间】:2014-05-20 16:15:37
【问题描述】:
我想知道为什么以下命令在 Bash 中不起作用以及如何使它运行:
/etc/init.d/{httpd,nscd} status
谢谢
【问题讨论】:
-
学习使用 cmd 行的
set -vx功能来查看 cmd 是如何执行的。您使用set +vx将其关闭。祝你好运。
标签: bash curly-brackets
我想知道为什么以下命令在 Bash 中不起作用以及如何使它运行:
/etc/init.d/{httpd,nscd} status
谢谢
【问题讨论】:
set -vx 功能来查看 cmd 是如何执行的。您使用set +vx 将其关闭。祝你好运。
标签: bash curly-brackets
您的命令不起作用,因为它会执行:
/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
【讨论】: