“〜/ 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贡献1995条经验 获得超2个赞
尝试更换~
用$HOME
。仅在波浪线未引用时才会发生Tilde扩展。见info "(bash) Tilde Expansion"
。
你也可以file=~/Desktop
不引用它,但如果你用它中的字段分隔符替换它的一部分,那么它将会中断。引用变量的值可能是养成习惯的好事。引用变量file=~/"Desktop"
也会起作用,但我觉得这很难看。
$HOME
在可能的情况下,首选的另一个原因是:波浪扩展只发生在单词的开头。因此,command --option=~/foo
只有在command
自身代价扩展时才会起作用,这将随命令而变化,同时command --option="$HOME/foo"
始终有效。
添加回答
举报
0/150
提交
取消