我正在创建一个基本的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
有什么想法吗?
答案 0 :(得分:6)
Bash不会在引号内展开~
。尝试:
notesPath=~/"Documents/RN/_DailyNotes/"
有关~
扩展的时间和方式的所有详细信息,请参阅man bash
,尤其是标题为Tilde Expansion
的部分。