Você não pode executar uma variável shell. Você precisa explicitamente transformar a variável $ command em um comando. A maneira mais fácil de fazer isso é com o comando eval
. Então: eval $command
funcionará.
Por que este comando funciona:
ps -ax | grep mongo
mas quando eu tento configurá-lo para variável:
ubuntu# command='ps -ax | grep mongo'
ubuntu# echo $command
ps -ax | grep mongo
Isso me dá um erro ao ligar:
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).
Você não pode executar uma variável shell. Você precisa explicitamente transformar a variável $ command em um comando. A maneira mais fácil de fazer isso é com o comando eval
. Então: eval $command
funcionará.