A maneira mais confiável de obter sequências arbitrárias em redirecionamentos é usar um documento aqui :
cat > file.txt <<'EOT'
run $(python -c "print('A'*256)")
EOT
Isso colocará essa linha única exatamente como está em file.txt
. O texto até EOT
é dado a cat
como sua entrada padrão e cat
apenas o expulsa novamente para ser redirecionado. O shell continuará lendo o documento até que EOT
apareça no início da linha, para que você possa colocar várias linhas de uma só vez se quiser (se EOT
aparecer assim em sua string, use outra coisa - o delimitador é arbitrário).
Como o delimitador é citado no topo, nenhuma expansão é executada no corpo do documento aqui 1 e todos os seus caracteres são passados intactos. O comportamento de here-documents é especificado por POSIX e funciona em qualquer shell.
1 Houve um bug em algumas versões mais antigas do Bash que executaram algumas expansões em certos casos , mas você não vai acertar isso aqui.