O Bash tem uma boa maneira de combinar e remover picadas de variáveis e matrizes.
Path_to_remove="~/.profile"
PATH=${PATH//:${Path_to_remove}/}
A nota acima presume que você tenha anexado ou anexado à sua variável de caminho, se você já tiver escrito, então pesquisar o arquivo bashrc de seus usuários também pode ajudar.
source ~/.bashrc
Ou use a redefinição para redefinir o terminal atual
reset
note acima é muito bom se você tiver ascendido o binário para o seu terminal.
Edições
Com base nos seus comentários, parece que você provavelmente substituiu a variável path.
Da próxima vez, antes de mexer com isso, faça o backup
opção de backup um (para arquivo)
echo "${PATH}" | tee -a /tmp/path.bak
opção de backup dois (temporária)
Old_path="${PATH}"
Em seguida, faça alterações com o conhecimento de que o caminho pode ser restaurado pelos seguintes exemplos
PATH=$(cat /tmp/path.bak)
## or for option two
PATH=${Old_path}
Finalmente, entenda como o caminho separa caminhos para caminhos de diretório diferentes, hint :
a dois pontos. E onde a maioria dos softwares instala links executáveis e / ou de sistema; abaixo está uma lista dentro de um dos meus novos sistemas de arquivos chroot.
-
/bin
-
/sbin
-
/usr/bin
-
/usr/sbin
-
/usr/local/bin
-
/usr/local/sbin
observe que o acima foi formatado por meio do seguinte e não é como o caminho será apresentado se for refletido.
for _path in ${PATH//:/ }; do echo "${_path}"; done
Com o acima, podemos agora trabalhar na reconstrução de sua variável de caminho. Note que não executa o seguinte sem antes fazer o backup de sua variável de caminho atual.
PATH=/bin
## Add further paths using the following syntax
PATH=${PATH}:/sbin
PATH=${PATH}:/usr/bin
PATH=${PATH}:/usr/sbin
PATH=${PATH}:/usr/local/bin
PATH=${PATH}:/usr/local/sbin
Observe como acima, todos, exceto o primeiro, usam ${PATH}:
para garantir que você não esteja sobrescrevendo, mas anexando ao seu valor preexistente. O mesmo poderia ser alcançado usando +=
, por exemplo, PATH+=:/sbin
, mas fazê-lo dessa maneira é mais propenso a erros, porque se você esquecer o sinal de adição, ele sobrescreverá e, se você esquecer o cólon, o caminho adicionado com o novo como sub-diretórios.