Variáveis ​​de escape para entrar no script

Variáveis ​​de escape para entrar no script

No Bash, estou tentando colocar o seguinte conteúdo em um arquivo:

for pid in $(ps -lef | grep ssh | grep 2048 | awk '{print $4}'); do kill -9 $pid; done

Não importa como eu tente colocá-lo, digamos, no ArquivoA, ele sempre acaba tendo as variáveis ​​substituídas pelos valores reais. Eu tenho EOF e eco. Sem sorte.

Meu objetivo final é ter o FileA com o conteúdo do one-liner.

Responder1

Quando você diz "Eu tenho EOF", imagino que você queira dizer que tentou umaqui documento, mas você já tentou citar o heredocpalavra?

cat <<'EOF' >FileA
for pid in $(ps -lef | grep ssh | grep 2048 | awk '{print $4}'); do kill -9 $pid; done
EOF

Se word não estiver entre aspas, todas as linhas do documento aqui serão sujeitas a expansão de parâmetros, substituição de comandos e expansão aritmética, a sequência de caracteres \newline será ignorada e '\' deverá ser usado para citar os caracteres '\', '$ ', e'`'.

informação relacionada