如何在bash脚本中转义$ HOME中的空格?

时间:2011-03-24 13:20:26

标签: macos bash gitolite

我正在尝试运行一个脚本,该脚本使用我的$HOME变量进行设置(顺便说一下,它是gitolite。)

然而,它失败了,因为我在一个主目录路径中有空格的系统。

我想在一个点上破解gitolite bash脚本,以便$HOME变成它可以使用的东西 - 它在脚本中被多次使用,并且在某些地方被连接起来形成子文件夹,所以将它包装在“”中是行不通的。

所以为了清理它,我需要说一些:

$HOME=(magic here)$HOME

(这当然假设后来的perl脚本也不直接读取$HOME变量并且还需要修复...)

2 个答案:

答案 0 :(得分:8)

在任何地方使用引号

HOME="/Users/Foo Bar"
WORKDIR="$HOME"/Work
PLAYDIR="$HOME"/Games
MARATHONDIR="$PLAYDIR"/Marathon

答案 1 :(得分:1)

试试这个:

export HOME=`echo $HOME | sed -e "s/ /\\ /g"`

希望对你有用!