DOWNLOAD_PATH="sample.ext"
RATE_LIMIT="300K"
mkdir ../$DOWNLOAD_PATH
BASE_COMMAND="screen wget --continue --directory-prefix=../$DOWNLOAD_PATH --tries=2 --input-file=$DOWNLOAD_PATH"
$("${BASE_COMMAND} --limit-rate=${RATE_LIMIT}")
这并不工作,但将引发一个错误:为什么包含的代码在bash中不起作用?
line 5: screen wget --continue --directory-prefix=../sample.ext --tries=2 --input-file=sample.ext --limit-rate=300K: No such file or directory
但是,如果我做
DOWNLOAD_PATH="sample.ext"
RATE_LIMIT="300K"
mkdir ../$DOWNLOAD_PATH
BASE_COMMAND="screen wget --continue --directory-prefix=../$DOWNLOAD_PATH --tries=2 --input-file=$DOWNLOAD_PATH"
COMPLETE_COMMAND="${BASE_COMMAND} --limit-rate=${RATE_LIMIT}"
$($COMPLETE_COMMAND)
一切工作就好了... ... 为什么呢?
你为什么把所有的东西放在变量中?参见[BashFAQ/050](http://mywiki.wooledge.org/BashFAQ/050)。 – 2010-07-25 21:32:47
我在我的脚本中的多个地方使用该命令,并希望能够集中更改它... – meanandvicious 2010-07-25 22:10:24