【问题标题】:.bashrc function won't cat variable [duplicate].bashrc 函数不会发现变量 [重复]
【发布时间】:2020-08-18 01:53:44
【问题描述】:

使用 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: No such file or directory 当我在终端中运行“cat ~/Desktop/sc.txt”时,它会正确显示文件

【问题讨论】:

  • 我认为~ 没有得到扩展。请改用$HOME
  • @jordanm 你是个巫师,这解决了我的问题,经过一些调整后,我得到了整个脚本的工作。谢谢!

标签: bash macos function variables filepath


【解决方案1】:

来自@jordanm 的回复:

我的 bash 没有扩展 '~' 快捷方式,在它的位置使用 ${HOME} 解决了这个问题。

scFile="${HOME}/Desktop/sc.txt"

cat "$scFile"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-30
    • 2015-06-09
    • 1970-01-01
    • 2011-07-29
    • 2012-11-23
    • 2015-10-25
    • 2015-09-12
    • 1970-01-01
    相关资源
    最近更新 更多