sourcing O script csh não define a variável de caminho sem o subtituto Bad

0

Estou escrevendo um script simples para gerar a variável de caminho conforme abaixo:

#!/bin/csh
echo "setting path"
set path=($path /sbin:/mscc/apps)

No entanto, a variável de caminho não muda e permanece a mesma. O shell csh não possui erros / avisos.

Se eu adicionar uma linha inválida, por exemplo:

setenv PATH $PATH:sbin

Ele reclama "substituto ruim". mas os dois caminhos acima são adicionados. Por que isso está acontecendo?

    
por Allen W 16.03.2018 / 18:14

1 resposta

1

Eu só posso duplicar isso se eu executar esse script:

$ echo $path
/usr/local/bin /usr/bin /usr/local/sbin /usr/sbin

$ ./script.csh
setting path
$ echo $path
/usr/local/bin /usr/bin /usr/local/sbin /usr/sbin

Se você pesquisar o script, verá um comportamento diferente:

$ source script.csh
setting path
$ echo $path
/usr/local/bin /usr/bin /usr/local/sbin /usr/sbin /sbin:/mscc/apps

(Talvez você queira /sbin /mscc/apps com um espaço em vez de dois pontos separando os elementos?)

    
por 16.03.2018 / 18:24

Tags