“?/ Desktop / test.txt:沒有這樣的文件或目錄”我寫過這個劇本:#!/bin/bashfile="~/Desktop/test.txt"echo "TESTING" > $file該腳本不起作用; 它給了我這個錯誤:./tester.sh: line 4: ~/Desktop/test.txt: No such file or directory我究竟做錯了什么?
2 回答

叮當貓咪
TA貢獻1776條經驗 獲得超12個贊
嘗試更換~
用$HOME
。僅在波浪線未引用時才會發生Tilde擴展。見info "(bash) Tilde Expansion"
。
你也可以file=~/Desktop
不引用它,但如果你用它中的字段分隔符替換它的一部分,那么它將會中斷。引用變量的值可能是養成習慣的好事。引用變量file=~/"Desktop"
也會起作用,但我覺得這很難看。
$HOME
在可能的情況下,首選的另一個原因是:波浪擴展只發生在單詞的開頭。因此,command --option=~/foo
只有在command
自身代價擴展時才會起作用,這將隨命令而變化,同時command --option="$HOME/foo"
始終有效。
- 2 回答
- 0 關注
- 809 瀏覽
添加回答
舉報
0/150
提交
取消