
No Linux e/ou Mac OSX, qual é a melhor maneira de automatizar a movimentação de uma entrada na variável de ambiente $PATH para a frente do valor como este:
/foo/bar:/um/dois/três:/opt/local/bin:/home/user/bin
Torna-se
/home/usuário/bin:/foo/bar:/um/dois/três:/opt/local/bin
Atualmente estou usando o sed para fazer isso, mas gostaria de saber se existe uma solução mais simples.
Responder1
Acredito que este seja o mais simples:
awk 'BEGIN{FS=OFS=":"}{print $4,$1,$2,$3}' <<< $PATH
Responder2
Rapidamente, você poderia escrever:
dir=/home/user/bin
PATH=$dir:${PATH//:$dir/}
Se você tem algo parecido
PATH=/first:/second:/home/user/bin/subdir:/home/user/bin
então isso é mais robusto:
tmp=":$PATH:"
tmp=$dir${tmp//:$dir:/:}
PATH=${tmp%:}