我的shell脚本将文件从一个目录符号链接到另一个目录

时间:2014-02-01 11:02:36

标签: bash shell zsh

我在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脚本不应该是一个问题/冲突。

1 个答案:

答案 0 :(得分:2)

扩展变量时不处理反斜杠。你需要引用变量。

db="$HOME/Dropbox/Fresh Install"
ln -s "$db"/README.md $HOME/symlinked.txt

一般情况下,除非您知道要对值进行分词和通配符扩展,否则最好始终使用quote个变量。