问题描述
使用MacOSX终端
我正在尝试制作一个bash脚本,将当天的屏幕快照放入新创建的目录中。我能够创建目录以及带有屏幕截图名称和文件扩展名的.txt文件。我创建一个变量来保存文件。出于某种原因,这会导致cat返回“ No such file ..”错误。
本质上是我的代码:
archive_screenshots(){
ymdDate=$(date +%Y-%m-%d)
#[stuff to make directory,which works]
scFile="~/Desktop/sc.txt"
scDir="~/Desktop/Screenshots/$ymdDate"
#screenshots have current date in them so grep to find
ls ~/Desktop/ | grep $ymdDate | sed 's/ /\\ /g' > "$scFile"
#File gets created,and is visible in Finder
cat "$scFile"
}
错误显示为“ cat:〜/ Desktop / sc.txt:没有这样的文件或目录 当我在终端中运行“ cat〜/ Desktop / sc.txt”时,它正确显示了文件
解决方法
来自@jordanm的回复:
我的bash没有扩展'〜'快捷方式,而在其中使用$ {HOME}解决了该问题。
scFile="${HOME}/Desktop/sc.txt"
cat "$scFile"