
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'`'.