我正在尝试在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
知道为什么吗?
yacob
答案 0 :(得分:4)
new=$10
正在给你$1
(即'yr')附加0
。你需要一些大括号:${10}
答案 1 :(得分:3)
以下是修复:
#!/bin/bash
an=$2 mn=$4 dy=$6 der=$8 new=${10} sec="${12} ${13}"
echo $an $mn $dy $der $new $sec