bashはtcsh "sched"コマンドを使用するのと同じですか?

bashはtcsh

tcshでは、組み込みschedコマンドは現在のシェルに指定された時間にコマンドを実行させます。

次のファイルがあります$HOME/.sched(単純化されたバージョンです)。

setenv today `date +%F`
sched +00:01 sched 00:00 source $HOME/.sched

source $HOME/.schedそれでは私の勝手にしてください$HOME/.cshrc

$todayたとえば、環境変数をに設定し、"2012-06-25"毎晩深夜に現在の日付に自動的に更新します。ジョブは実行されるたびに自動的にスケジュールが再調整されます。

このdateコマンドは1日1回、必要なときにのみ呼び出されます。

Bashでこれを行う方法はありますか?このatコマンドは何の効果もありません。外部からコマンドを呼び出し、現在のシェルの環境には影響しません。

$(date +%F)(typeの代わりに入力できるということはわかりますが$today、対話型で使用するので追加で入力することが大きな負担になります。)

tcshには、特定の状況で自動的に実行されるいくつかの特別なエイリアスもあります。

これビープ音コマンドCWDコマンド定期的辞書コマンドポストコマンド作業コマンド 特別なエイリアスシェルがベルを鳴らすときと、作業ディレクトリが変更されたときに実行されるコマンドを別々に設定できます。 期間各プロンプトの前、各コマンドの実行前、各コマンドの実行後、ジョブの開始時またはフォアグラウンドで表示されます。

bashにも似ていますか?

ベストアンサー1

試してみました$PROMPT_COMMANDか?たとえば、CWD を表示するために xterm ヘッダーを設定するために通常使用されます。メッセージが表示されたら実行します。変数の設定にも使用できます。最初の欠点は、シェルでEnterキーを押すたびにコマンドが実行されることです。 2つ目は、端末に長い間何の活動もなく、一日が経過すると自動的に設定されないことです。次回端末に入力するときに設定されます。

# export PROMPT_COMMAND="export today=\`date\`"
# echo $today
Tue Jun 26 01:07:19 EEST 2012
# echo $today
Tue Jun 26 01:07:21 EEST 2012
# echo $today
Tue Jun 26 01:07:22 EEST 2012

おすすめ記事