Escape-Variable in Cat

Escape-Variable in Cat

Ich versuche, ein Shell-Skript über SSH über eine Bash-Eingabeaufforderung zu schreiben. Die Shell besteht jedoch darauf, jede Variable, die ich schreiben möchte, zu interpretieren, anstatt sie direkt in eine Datei zu schreiben. Beispielsweise cat <<EOF >checkup.sh\n'$command'EOFwird einfach als in eine Datei geschrieben ''. Wie schreibe ich $commandstattdessen? Ich habe jede praktische Methode zum Ausweichen ausprobiert, die mir eingefallen ist.

Wenn es etwas ändert, mache ich es über PHP mitphpseclib.

Antwort1

Versuchen Sie, das erste zu zitieren EOF, z. B.

cat <<'EOF'
>checkup.sh\n'$command'
EOF

Dies wird auf der Manpage bash(1) im Abschnitt „Hier-Dokumente“ erklärt.

verwandte Informationen