En Linux y/o Mac OSX, ¿cuál es la mejor manera de automatizar el movimiento de una entrada en la variable de entorno $PATH al frente del valor como este?
/foo/bar:/uno/dos/tres:/opt/local/bin:/home/user/bin
se convierte
/home/usuario/bin:/foo/bar:/uno/dos/tres:/opt/local/bin
Actualmente estoy usando sed para lograr esto, pero me gustaría saber si existe una solución más sencilla.
Respuesta1
Creo que esto es lo más sencillo:
awk 'BEGIN{FS=OFS=":"}{print $4,$1,$2,$3}' <<< $PATH
Respuesta2
Rápidamente podrías escribir:
dir=/home/user/bin
PATH=$dir:${PATH//:$dir/}
Si tienes algo como
PATH=/first:/second:/home/user/bin/subdir:/home/user/bin
entonces esto es más robusto:
tmp=":$PATH:"
tmp=$dir${tmp//:$dir:/:}
PATH=${tmp%:}