状態:cronで実行するように設計されたbashスクリプトがあります。端末でスクリプトをテストしましたが、正常に動作します。 cronによって実行されるようにスクリプトを設定すると、スクリプトは失敗し始めます。
スクリプトのコマンドの1つを実行するには、cron実行環境では提供されていないTTYが必要であるという事実を見つけるために多くの努力が必要でした。 (docker-compose
好奇心から:メッセージでコマンドが失敗しますthe input device is not a TTY
)
質問:私はまだcron用に設定する前に、端末でシェルスクリプトをテストする方法を探しています。 cronで実行されているように、端末でシェルスクリプトを実行する方法はありますか?良いcron run_my_command_now 'echo 123'
。それとも、スクリプトが端末がないと思うように端末でシェルスクリプトを実行する方法はありますか?
ベストアンサー1
IMOの最も簡単な方法は、おそらくsshと「-T」を使用して疑似TTYを無効にすることです。
ssh -T localhost "command"
TTYなしで実行する必要があります。