Экранирование переменной в Cat

Экранирование переменной в Cat

Я пытаюсь написать скрипт оболочки через ssh через командную строку bash. Однако оболочка настаивает на интерпретации любой переменной, которую я хочу записать, вместо того, чтобы записывать ее напрямую в файл. Например, cat <<EOF >checkup.sh\n'$command'EOFпросто записывается как ''в файл. Как мне $commandвместо этого записать? Я перепробовал все практические методы экранирования, которые только мог придумать.

Если это что-то меняет, я делаю это через PHP, используяphpseclib.

решение1

Попробуйте процитировать первое EOF, например,

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

Это объясняется на странице руководства bash(1) в разделе «Документы здесь».

Связанный контент