A melhor maneira é simplesmente armazenar uma cópia do caminho antes de alterá-lo.
PATH_BAK=$PATH
PATH=...
...
PATH=$PATH_BAK
Eu usei isso para adicionar ao PATH:
APXS2=/usr/local/apache/bin/apxs PATH=$PATH:/usr/local/apache/bin passenger-install-apache2-module
e meu PATH agora se parece com isso:
/usr/local/jdk/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/courier-imap/sbin:/usr/lib/courier-imap/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/root/bin:
Agora quero remover isso que adicionei. Como fazer isso?
A melhor maneira é simplesmente armazenar uma cópia do caminho antes de alterá-lo.
PATH_BAK=$PATH
PATH=...
...
PATH=$PATH_BAK
Basta fazer logout, fazer login novamente e seu PATH será redefinido.
Se você esqueceu de criar um backup, pode usar a remoção / substituição de substring.
Remoção de Substring
${string#substring}
Substituição de Substring
${string/substring/replacement}
Por favor, consulte este link link
Dado / usr / local / apache / bin não está no '... meu PATH agora se parece com isso ...' - o que você acha que adicionou? Assumindo que você está no bash ou no ksh - você não mudou o caminho porque você não o exportou. Então duvido que você precise remover alguma coisa.
Por exemplo,
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$ PATH=$PATH:/foo /bin/ls
aFile
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$ # PATH did not alter
Versus:
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
$ export PATH=$PATH:/foo
$ /bin/ls
aFile
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/foo
$ #PATH modified.
Então, a menos que você tenha exportado o novo PATH para o shell que está invocando, o comando do PATH não foi alterado.