我正在尝试编写一个 Bash 别名(或脚本),其中列出了当前正在运行的某些特定程序。
在我的设置中,.bashrc
我设置$MY_BIN_PATH
了一个包含我感兴趣的所有程序的目录:
export MY_BIN_PATH=/root/repo/bin
$ > echo $MY_BIN_PATH
/root/repo/bin
列出该目录会显示许多文件。我想为其中的每一个grep
输出:ps -ef
for i in `ls $MY_BIN_PATH`;
do
ps -ef | grep $i | egrep -v "grep|md_m|avahi";
done
无论其中的哪个(如果有)文件$MY_BIN_PATH
正在运行,输出始终为:
/bin/grep: Unmatched [ or [^
/bin/grep: Unmatched [ or [^
/bin/grep: Unmatched [ or [^
/bin/grep: Unmatched [ or [^
/bin/grep: Unmatched [ or [^
似乎不知何故 的值在 and 之间的管道中被“$i
遗忘”了。ps -ef
grep $i
我在这里做错了什么,我怎样才能让它工作?