csh - verifica se a variável $ PATH contém uma substring

0

Talvez eu esteja pensando errado, mas quero adicionar o Python à minha variável $PATH se ainda não estiver lá.

Aqui está o meu código

# Add Python to $PATH
if(-e /path/to/python/bin && (! $PATH.Contains('python')) then
    set path=($path:/path/to/python/bin)
else
    echo 'ERROR: Unable to find the path to Python executable in .cshlc!'
endif
    
por Kolob Canyon 01.05.2018 / 20:13

1 resposta

2

Uma maneira simples, com algumas pequenas melhorias:

if (-d /path/to/python/bin && "$path" !~ *"/path/to/python/bin"*) then
    set path=($path /path/to/python/bin)
else
    echo 'ERROR: Unable to find the path to Python executable in .cshlc!'
endif

Eu mudei -e para -d , para ser um teste um pouco mais strong para a existência de um diretório, então eu verifiquei se a variável $path contém algo como /path/to/python/bin ; se o diretório existir e a variável de caminho ainda não contiver esse caminho, anexe-o. Eu acredito que a sintaxe csh usa espaços para separar elementos no caminho, não dois pontos.

    
por 01.05.2018 / 21:19