シェルの処理でクーロンによるスケジュール実行、またはTeraTerm などのターミナルによる手動実行を条件判定




シェルの処理にて、
cronによるスケジュール実行、または Tera Term などのターミナルによる手動実行のどちらでシェルが実行されているかを条件判定する。 

シェルに以下のような条件文を書いて、条件判定できる。
#!/bin/bash

terminal_name=`tty`
if [ "${terminal_name}" = "not a tty" ]; then
  echo "cron スケジュール実行"
else
  echo "ターミナル シェル手動実行"
fi
tty コマンドは、標準入力に接続されているターミナルのファイル名を出力する。cron によるスケジュール実行では、ターミナルを使用しないため、not a tty となる。

※tty コマンドを手動で実行して、実行結果を確認してから、シェルの条件文に指定する。


スポンサーリンク

0 件のコメント :

コメントを投稿