Вы можете использовать замену шаблона ${parameter/pattern/string}
для обновления PATH
:
PATH=${PATH/#$myvar:/:}
PATH=${PATH/%$myvar/:}
PATH=${PATH/:$myvar:/:}
Например:
$ echo $PATH
/bin:xxx:/bin:yyy:/usr/sbin:zzz:/bin
$ echo $myvar
/bin
PATH=${PATH/#$myvar:/:} # remove $myvar at the beginning of $PATH
PATH=${PATH/%$myvar/:} # remove $myvar at the end of $PATH
PATH=${PATH/:$myvar:/:} # remove $myvar anywhere else in $PATH
$ echo $PATH
:xxx:yyy:/usr/sbin:zzz::
В качестве альтернативы вы можете использовать sed
:
$ echo $PATH
/bin:xxx:/bin:yyy:/usr/sbin:zzz:/bin
$ PATH=$(sed -E "s@(:|^)$myvar(:|$)@:@g" <<< $PATH)
$ echo $PATH
:xxx:yyy:/usr/sbin:zzz: