как избежать пробелов в $ HOME в скрипте bash? - PullRequest
1 голос
/ 24 марта 2011

Я пытаюсь запустить скрипт, который использует мою переменную $HOME для настройки (это, кстати, gitolite ).

Однако, он терпит неудачу, потому что я 'm в системе, где путь к домашней директории содержит пробелы.

Я хочу взломать скрипт gitolite bash в одной точке, чтобы $HOME превратился во что-то, с чем он может работать - его используют несколько разв сценарии и за его пределами, а в некоторых местах объединяется в подпапки, поэтому перенос его в "" не будет работать.

Так что для его очистки мне нужно сказать что-то вроде:

$HOME=(magic here)$HOME

(Это, конечно, при условии, что последующие сценарии perl также не читают переменную $HOME напрямую и также нуждаются в исправлении ...)

Ответы [ 2 ]

8 голосов
/ 24 марта 2011

Используйте кавычки везде .

HOME="/Users/Foo Bar"
WORKDIR="$HOME"/Work
PLAYDIR="$HOME"/Games
MARATHONDIR="$PLAYDIR"/Marathon
1 голос
/ 24 марта 2011

Попробуйте:

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

Надеюсь, что это работает для вас!

...