.bashrc函数不会显示变量

问题描述

使用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"

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...