У меня только косметический вопрос.

Я экспортирую некоторую переменную в мой .bashrc следующим образом:

export LD_LIBRARY_PATH=/usr/local/matlab/bin/glnxa64:\
$FASTNET_INSTALL_PATH/lib:$EGRINGERANATOOLS/lib:\
$LD_LIBRARY_PATH

но я привык делать отступы строк, начинающихся с начала команды, для лучшего просмотра, например:

export LD_LIBRARY_PATH=/usr/local/matlab/bin/glnxa64:\
  $FASTNET_INSTALL_PATH/lib:$EGRINGERANATOOLS/lib:\
  $LD_LIBRARY_PATH

Но если я сделаю это, я получу ошибку, подобную этой:

-bash: export: `~/fastnet/install/lib:~/Documents/D3PD/EgRingerAnaTools/lib:': not a valid identifier

Есть ли способ отступить строки, как я хочу?

Спасибо!

1 ответ1

1

Вы можете создать такую функцию ...

setpath() {
    oldIFS=$IFS; IFS=":"
    var=$1; shift; eval "$var=\$*; export $var"
    IFS=$oldIFS; unset oldIFS
}

setpath LD_LIBRARY_PATH \
    /usr/local/matlab/bin/glnxa64  \
    "$FASTNET_INSTALL_PATH/lib"    \
    "$EGRINGERANATOOLS/lib"        \
    "$LD_LIBRARY_PATH"             ;

(Я использую эту функцию в моем ~/.profile, поэтому она написана для совместимости с любой оболочкой, которая читает этот файл, включая sh, ksh, bash, zsh ... Короче было бы написано на чистом Bash.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .