我在Dropbox目录中有一个文件,我想将它符号链接到我的家/用户目录。
我正在尝试使用像这样的shell脚本自动化它...
db="$HOME/Dropbox/Fresh\ Install"
ln -s $db/README.md $HOME/symlinked.txt
...但所有发生的事情都是我运行sh provision.sh
时出现错误ln: /Users/<user>/symlinked.txt: No such file or directory
我猜这个问题与指向名称中有空格的文件夹的路径有关。
我尝试了不同的变化来让它发挥作用,但无法弄明白。
试图使用“命令替换”,但无法理解它与问题的关系。
任何有助于让这项工作受到赞赏的帮助。
注意:我正在使用zsh,但据我所知,运行这个简单的bash脚本不应该是一个问题/冲突。
答案 0 :(得分:2)
扩展变量时不处理反斜杠。你需要引用变量。
db="$HOME/Dropbox/Fresh Install"
ln -s "$db"/README.md $HOME/symlinked.txt
一般情况下,除非您知道要对值进行分词和通配符扩展,否则最好始终使用quote个变量。