Tente ver o que csh definiu seu alias, digitando isso no prompt de comando:
% alias bw
bjobs -w | awk '{print }'
O que aconteceu? o shell expandiu uma variável do shell chamada $ 7, que por acaso não é nada, e recheou esse valor nulo na definição do alias.
Portanto, isso sugere uma solução em si, precisamos citar o dólar em US $ 7, longe dos olhares indiscretos da concha, para que ela seja inserida literalmente na definição do alias:% alias bw "bjobs -w | awk" {print "\ $" 7} '"
Agora, quando testamos o que é o alias:
% alias bw
bjobs -w | awk '{print $7}'
e isso é exatamente o que você digitaria na linha de comando!
Para realizar a redação da definição de alias, realizamos isso em três etapas:
- The quoting is done by closing the double quotes just before the $ to
come out of the alias' quoting.
- Now the $ needs to be escaped via a backslash to stop it from being
expanded before the alias takes effect.
- Start the double quotes to re-enter the alias' quoting.
** Eu gostaria de poder desenhar isso pictoricamente, o que torna muito trivial entender.