如果`pwd -P`包含其中包含空格的文件夹名称,则bash脚本将失败

时间:2013-06-25 03:33:07

标签: linux macos bash unix

我有一个bash脚本为我设置工作环境,sym将文件链接到主目录中的相应位置。

以下代码在其绝对路径不包含名称中包含空格的任何文件夹时起作用:

    CURRENTDIR=`pwd -P`
    function make_sym_link { ln -s $CURRENTDIR/$1 $HOME/.$1; }
    for FILE in janus irbrc gvimrc vimrc.after vimrc.before
    do
      make_sym_link $FILE
    done

我猜测它与如何在有空格时正确转义路径有关。

示例工作路径是: User/stuartnelson3/Desktop/dotfiles

虽然我的路径不起作用: User/stuartnelson3/Google\ Drive/dotfiles (我添加了\

这是问题吗?我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用引号在文件名中包含空格和字符。

CURRENTDIR=`pwd -P`
function make_sym_link { ln -s "$CURRENTDIR/$1" "$HOME/.$1"; }
for FILE in janus irbrc gvimrc vimrc.after vimrc.before
do
  make_sym_link $FILE
done