我当前在从shell变量执行命令时遇到问题。
通常情况下,以下内容的工作方式与预期一致:
COMMAND="echo A"
echo $COMMAND
$COMMAND
产生:
echo A
A
但如果我这么做了
COMMAND="su aUser -s /bin/bash -c 'echo A'"
echo $COMMAND
$COMMAND
我得到了
su aUser -s /bin/bash -c 'echo A'
Password:
A': -c: line 0: unexpected EOF while looking for matching `''
A': -c: line 1: syntax error: unexpected end of file
如果我输入这行
su aUser -s /bin/bash -c 'echo A'
它直接按照预期工作。
似乎我假设$COMMAND等于直接输入内容作为命令是错误的。
问题
1)有没有人知道如何从变量运行命令?
2)两者的确切区别是什么
COMMAND="command"
$COMMAND
和
command
https://stackoverflow.com/questions/11079342
复制相似问题