O que significa sublinhado em dólar no tcsh? $ _

0

Em um script que estou depurando, vejo que usa $ _ no começo do arquivo. Parece sugar o comando completo que chamou o arquivo. Ao tentar envolver esse script em outro script, o $ _ não parece sugar nada, o que faz com que o restante do script seja bombardeado.

Eu tentei usar $ _ mais tarde no script e ele parece pegar o comando executado anteriormente e ou reexecutar ou apenas salvar a saída do último comando.

Então, se estiver salvando os resultados do último comando salvo, por que está vazio quando outro script chama o script tentando usar $ _ no começo?

Talvez a verdadeira questão seja o que há de diferente no ambiente entre um script e a linha cmd que resultaria nesse comportamento diferente, e qual seria o WA ou a solução, já que o subscrito que estou depurando não pode ser gravado por mim .

O código abaixo também mostra alguma estranheza em que se echo $ _ estiver na primeira linha de um script, ele puxa o cmd anterior executado na linha cmd, mas se echo $ _ for usado novamente, ele sempre exibirá o cmd usado para chamar o script.

teste:

echo $_
echo $_
echo $_

linha de cmd:

>echo "foo"
foo
>echo "bar"
bar
>source ./test
echo "bar"
source ./test
source ./test
    
por horta 05.02.2015 / 20:29

1 resposta

1

man tcsh:

   $_      Substitutes the command line of the last command executed.  (+)
    
por 05.02.2015 / 20:49

Tags