作者zhucc (阿朱哥)
看板Linux
标题[问题] shell script 变数问题
时间Wed Jan 22 20:03:25 2014
想请教一下为何下列第二和第三种方法会显示错误讯息
1.
TMP1=/root/zh/pp/pg1.tmp
TMP2=/root/zh/pp/pg2.tmp
2.
q=1
while [ "$q" -le "4" ];do
TMP${q}=/root/zh/pp/pg${q}.tmp
q=`expr $q + 1`
done
3.
for q in 1 2 3 4
do
TMP$q=/root/zh/pp/pg$q.tmp
done
第二和第三错误讯息都是
+ TMP1=/root/zh/pp/pg.tmp
pp.sh: line 4: TMP1=/root/zh/pp/pg1.tmp: No such file or directory
+ TMP2=/root/zh/pp/pg2.tmp
pp.sh: line 4: TMP2=/root/zh/pp/pg2.tmp: No such file or directory
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.33.55.125
1F:推 Bencrie:加个 env ? 01/22 20:43
env ? 不懂该加什麽说
2F:推 nashsai:" " 01/22 20:50
请问是加在那边?我加在变数右边一样会错误
TMP$q="/root/zh/pp/pg$q.tmp"
※ 编辑: zhucc 来自: 114.33.55.125 (01/22 20:57)
3F:推 yvb:应该是补 eval, ex: eval TMP${q}=/root/zh/pp/pg${q}.tmp 01/22 21:40
可以了、感谢
※ 编辑: zhucc 来自: 114.33.6.214 (01/23 01:09)