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