5

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

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

1 ответ1

7

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .