1

В Linux и / или Mac OSX, как лучше всего автоматизировать перемещение записи в переменной среды $ PATH в начало значения, например так:

/ Foo / бар:/ один / два / три:/ OPT / местные / бен:/ Главная / пользователь / бен

становится

/ Главная / пользователь / бен:/ Foo / бар:/ один / два / три:/ OPT / местные / бен

В настоящее время я использую sed для этого, но я хотел бы знать, есть ли более простое решение.

2 ответа2

1

Я считаю, что это самое простое:

awk 'BEGIN{FS=OFS=":"}{print $4,$1,$2,$3}' <<< $PATH
0

Быстро, вы можете написать:

dir=/home/user/bin
PATH=$dir:${PATH//:$dir/}

Если у вас есть что-то вроде

PATH=/first:/second:/home/user/bin/subdir:/home/user/bin

тогда это более надежно:

tmp=":$PATH:"
tmp=$dir${tmp//:$dir:/:}
PATH=${tmp%:}

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