【发布时间】:2014-11-11 06:40:26
【问题描述】:
我有一个变量定义如下:
#!/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 上运行。
【问题讨论】:
-
不要将命令放在字符串中。如果您需要这样做,请将它们放入数组中。有关详细信息,请参阅mywiki.wooledge.org/BashFAQ/050。
-
@EtanReisner 你能把这个添加一个答案吗?我想给它投票——这是非常有用的东西。谢谢。
-
我没有这样做,因为这种问题出现了很多(正如它的常见问题解答条目的存在所表明的那样),我正在寻找一个很好的问题来将其标记为重复的,但找不到。