A maneira 'fish' de definir a variável $ PATH é usar set --universal fish_user_paths $fish_user_paths /new/path/here . Em seguida, $ fish_user_paths é, na verdade, anexado à variável $ PATH quando uma nova sessão é iniciada. No entanto, a documentação do $ PATH atualmente não informa como excluí-la.
Em fish, cada variável é, na verdade, uma lista (array), e você pode acessar convenientemente cada item diretamente usando um índice / índice. echo $fish_user_paths imprimirá uma versão delimitada por espaço de cada item da lista, criará novos espaços com a função de conversão echo $fish_user_paths | tr " " "\n" e, em seguida, colocará os números de linha nela com a função de linhas numéricas, echo $fish_user_paths | tr " " "\n" | nl . Em seguida, exclua-o com set --erase --universal fish_user_paths[5] . Você deve usar --universal ou não funcionará em nenhuma nova sessão.
Se alguém tiver tempo, envie um PR para o repositório com este exemplo. Eu abri um problema aqui .
tldr;
-
echo $fish_user_paths | tr " " "\n" | nl// obtém o número do que você deseja excluir, por exemplo, o 5º -
set --erase --universal fish_user_paths[5]// apaga o quinto caminho universalmente para que ele persista em novas sessões