1

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

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

我想在一个点上破解 gitolite bash 脚本,以便$HOME变成它可以使用的东西——它在脚本中及以后被多次使用,并且在某些地方被连接形成子文件夹,所以将它包装在 "" 中赢了不行。

所以要清理它,我需要说一些类似的话:

$HOME=(magic here)$HOME

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

4

2 回答 2

8

到处使用引号。

HOME="/Users/Foo Bar"
WORKDIR="$HOME"/Work
PLAYDIR="$HOME"/Games
MARATHONDIR="$PLAYDIR"/Marathon
于 2011-03-24T13:24:56.263 回答
1

尝试这个:

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

希望对你有用!

于 2011-03-24T13:23:15.887 回答