man tcsh:
$_ Substitutes the command line of the last command executed. (+)
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
man tcsh:
$_ Substitutes the command line of the last command executed. (+)