3

我想知道是否可以在 BASH 中以这种方式使用命令:

让我们接受命令pwd

假设我想要一个变量comm="pwd" ,然后在程序的某个地方使用它,但是当我使用它时,我得到了真正的 pwd 命令输出。这甚至可能吗?

4

3 回答 3

2

这很简单,你可以这样做:

comm='pwd'
# just execute
$comm
# fetch output into variable
output=$($comm)
于 2013-04-21T16:53:42.373 回答
1

尝试这样做:

var=$(pwd)

反引号 (`) 用于旧式命令替换,例如

foo=`command`

foo=$(command)

建议使用语法。内部的反斜杠处理$()不那么令人惊讶,并且$()更容易嵌套。见http://mywiki.wooledge.org/BashFAQ/082

于 2013-04-21T16:52:46.650 回答
0

是的,只需将子命令括在反引号中(` 字符):

comm=`pwd`
于 2013-04-21T16:51:20.780 回答