亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
不用eval可以嗎
[打印本頁(yè)]
作者:
sewidking
時(shí)間:
2014-02-11 08:32
標(biāo)題:
不用eval可以嗎
本帖最后由 sewidking 于 2014-02-11 08:33 編輯
各位大神,我有一個(gè)小問題
abc=12345
a=abc
我想通過(guò)a給abc賦值
為啥執(zhí)行 $a=67890 的時(shí)候shell提示command not found
嗯,我知道用eval可以解決,但我想知道為什么會(huì)提示command not found呢
還有,可不可以不用eval解決這個(gè)問題呢?
先謝謝各位了,小弟很菜,不要笑我.....
忘了說(shuō),我用的是bash
GNU bash, version 4.1.2(1)-release
作者:
laliheyi
時(shí)間:
2014-02-11 08:39
本帖最后由 laliheyi 于 2014-02-11 08:41 編輯
回復(fù)
1#
sewidking
為啥執(zhí)行 $a=67890 的時(shí)候shell提示command not found
因?yàn)橐獙⒆兞繑U(kuò)展后的內(nèi)容當(dāng)作命令要執(zhí)行,而此命令不存在
eval $a=123
let $a=124
復(fù)制代碼
作者:
sewidking
時(shí)間:
2014-02-11 08:47
回復(fù)
2#
laliheyi
謝謝,用let的話,把數(shù)字賦值給abc是可以的,但let $a=pppppp就不行了,請(qǐng)教一下,怎樣才能賦值一個(gè)字符串呢
作者:
laliheyi
時(shí)間:
2014-02-11 08:50
回復(fù)
3#
sewidking
declare $a=ppp
復(fù)制代碼
作者:
sewidking
時(shí)間:
2014-02-11 08:54
回復(fù)
4#
laliheyi
解決問題了,多謝
小弟新人,初來(lái)乍到,還請(qǐng)大神多多關(guān)照啊
作者:
newoz
時(shí)間:
2014-02-11 20:06
本帖最后由 newoz 于 2014-02-11 20:09 編輯
可以不用eval
abc=12345
a=abc
echo ${!a}
12345
復(fù)制代碼
${!a}的用法的英文是:indirect expansion。ㄖ弊g:間接擴(kuò)張)
作者:
elu_ligao
時(shí)間:
2014-02-11 21:52
[redhat@localhost 0209]$ abc=12345
[redhat@localhost 0209]$ a=abc
[redhat@localhost 0209]$ echo $a
abc
[redhat@localhost 0209]$ echo $abc
12345
[redhat@localhost 0209]$ declare $a=ppp
[redhat@localhost 0209]$ echo $a
abc
[redhat@localhost 0209]$ echo $abc
ppp
[redhat@localhost 0209]$
復(fù)制代碼
學(xué)習(xí)了
作者:
這個(gè)冬天不冷
時(shí)間:
2014-02-11 23:52
請(qǐng)記住eval的作用:eval就是 讓它后面的命令啊 參數(shù) 先讓bash給他解釋一邊,該替換的替換,然后再執(zhí)行
作者:
Shell_HAT
時(shí)間:
2014-02-12 08:36
回復(fù)
6#
newoz
這個(gè)跟樓主的需求不一樣吧
作者:
sewidking
時(shí)間:
2014-02-12 09:57
謝謝大家的回復(fù),漲了老多姿勢(shì)了,老開心了
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2