此命令为何有效:
ps -ax | grep mongo
但是当我尝试将其设置为变量时:
ubuntu# command='ps -ax | grep mongo'
ubuntu# echo $command
ps -ax | grep mongo
调用时出现错误:
ubuntu# $command
error: must set personality to get -x option
Usage:
ps [options]
Try 'ps --help <simple|list|output|threads|misc|all>'
or 'ps --help <s|l|o|t|m|a>'
for additional help text.
For more details see ps(1).
答案1
您无法执行 shell 变量。您需要明确地将 $command 变量转换为命令。最简单的方法是使用命令eval
。因此:eval $command
将起作用。