扩展包含命令的变量在Bash脚本中无法正常工作

时间:2014-09-17 09:33:53

标签: bash variables scripting

我的变量定义如下:

#!/bin/bash
#commonvars.sh

#Plus other definitions

NUMBERED='nl -w3 -s". " '

然后我在另一个脚本中使用它:

#!/bin/bash

source commonvars.sh
$NUMBERED "${DL_FILE}.titles"

但是nl命令不起作用并且出现使用错误。

usage: nl [-p] [-b type] [-d delim] [-f type] [-h type] [-i incr] [-l num]
          [-n format] [-s sep] [-v startnum] [-w width] [file]

我确信它一定是一个小小的东西,但我上面究竟做错了什么?我这样做的原因是我在脚本上获得了nl命令的标准化调用。

在Mac OS X 10.9.4上运行。

1 个答案:

答案 0 :(得分:2)

试试这个:

<强> commonvars.sh:

编辑(我之前粘贴了错误的文字)

NUMBERED=("nl" "-w3" "-s. ")

其他剧本:

source commonvars.sh
"${NUMBERED[@]}"  "${DL_FILE}.titles"

如果在有问题的扩展之前设置跟踪模式,您可以更好地了解最新情况:

set -x