在基本bash脚本中获取错误

时间:2014-07-28 01:04:06

标签: bash shell

我正在创建一个基本的bash脚本,每天创建一个空白文件,用于记笔记。我用当前日期命名文件,然后尝试将其写入我的Documents文件夹下的notes目录。如果我使用完整的路径,一切正常,但我宁愿使用〜而不是输入我的家庭目录。

这有效:

notesPath="/Users/erik/Documents/RN/_DailyNotes/"

这就失败了,没有这样的文件或目录"错误:

notesPath="~/Documents/RN/_DailyNotes/"

我在创建notesPath后执行以下操作:

todayFile=$notesPath$fileName
todayPretty=$(date "+%m/%d/%y")
echo "Daily $todayPretty" >> $todayFile                                         

有什么想法吗?

1 个答案:

答案 0 :(得分:6)

Bash不会在引号内展开~。尝试:

notesPath=~/"Documents/RN/_DailyNotes/"

有关~扩展的时间和方式的所有详细信息,请参阅man bash,尤其是标题为Tilde Expansion的部分。