Bash: Ignore o espaço vazio no início da linha

0

Eu tenho apenas uma pergunta estética.

Eu exporto algumas variáveis no meu .bashrc da seguinte forma:

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

mas estou acostumado a recuar as linhas resultantes do início do comando para melhor visualização, como:

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

Mas se eu fizer isso, receberei um erro assim:

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

Existe uma maneira de recuar as linhas como eu quero?

Obrigado!

    
por Werner 04.08.2013 / 06:08

1 resposta

1

Você pode criar uma função como esta ...

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"             ;

(Eu uso essa função no meu ~ / .profile, então ela foi escrita para ser compatível com qualquer shell que leia esse arquivo, incluindo sh, ksh, bash, zsh ... Seria mais curto se fosse escrito em puro Bash .)

    
por 04.08.2013 / 07:54

Tags