哆啦的時(shí)光機(jī)
2019-08-13 17:10:06
“?/ Desktop / test.txt:沒有這樣的文件或目錄”我寫過這個(gè)劇本:#!/bin/bashfile="~/Desktop/test.txt"echo "TESTING" > $file該腳本不起作用; 它給了我這個(gè)錯(cuò)誤:./tester.sh: line 4: ~/Desktop/test.txt: No such file or directory我究竟做錯(cuò)了什么?
2 回答

拉風(fēng)的咖菲貓
TA貢獻(xiàn)1995條經(jīng)驗(yàn) 獲得超2個(gè)贊
嘗試更換~
用$HOME
。僅在波浪線未引用時(shí)才會(huì)發(fā)生Tilde擴(kuò)展。見info "(bash) Tilde Expansion"
。
你也可以file=~/Desktop
不引用它,但如果你用它中的字段分隔符替換它的一部分,那么它將會(huì)中斷。引用變量的值可能是養(yǎng)成習(xí)慣的好事。引用變量file=~/"Desktop"
也會(huì)起作用,但我覺得這很難看。
$HOME
在可能的情況下,首選的另一個(gè)原因是:波浪擴(kuò)展只發(fā)生在單詞的開頭。因此,command --option=~/foo
只有在command
自身代價(jià)擴(kuò)展時(shí)才會(huì)起作用,這將隨命令而變化,同時(shí)command --option="$HOME/foo"
始終有效。

絕地?zé)o雙
TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
添加回答
舉報(bào)
0/150
提交
取消