我正在尝试读取bash中的命令行参数,但在第10列中读取时遇到问题。下面是我的示例脚本:
#-------------------------------------------------------
#!/bin/bash
an=$2 mn=$4 dy=$6 der=$8 new=$10 sec=(${12} ${13})
echo $an $mn $dy $der $new $sec
#--------------------------------------------------------我已经将上面的脚本"test.sh“运行为
./test.sh -yr cat -mn Jan -dy tuesday -der tt -new car -sec 001 001输出为:
cat Jan tuesday tt -yr0 001但是对于变量$new ($10),答案应该是car,但我得到的是-yr0
知道为什么吗?
发布于 2012-10-17 21:39:45
修复方法如下:
#!/bin/bash
an=$2 mn=$4 dy=$6 der=$8 new=${10} sec="${12} ${13}"
echo $an $mn $dy $der $new $sec 使用${10}
。
发布于 2012-10-17 21:34:47
new=$10给你的$1 (也就是'yr')附加了0。你需要一些花括号:${10}
https://stackoverflow.com/questions/12935444
复制相似问题