我想知道BASH是否有可能以这种方式使用命令:
让我们接受命令pwd
让我们说我想要一个变量comm="pwd"
然后在程序中的某个地方使用它,但是当我使用它时,我得到了真正的pwd命令输出。这甚至可能吗?
答案 0 :(得分:2)
这很简单,你可以这样做:
comm='pwd'
# just execute
$comm
# fetch output into variable
output=$($comm)
答案 1 :(得分:1)
尝试这样做:
var=$(pwd)
反引号(`)用于旧式命令替换,例如
foo=`command`
在
foo=$(command)
建议使用语法。 $()
内的反斜杠处理不那么令人惊讶,$()
更容易嵌套。见http://mywiki.wooledge.org/BashFAQ/082
答案 2 :(得分:0)
是的,只需在反引号中包围子命令(`字符):
comm=`pwd`