MacOSでzshでatおよびバッチユーティリティを使用する

MacOSでzshでatおよびバッチユーティリティを使用する

私はユーティリティ会社に一回限りの仕事を手配しようとしていますat。試しています。を at 13:00押してからEnterを押し <name_of_shell_script>、次にを押しますctrl+d

私のスクリプトの最初の行は次のとおりです。#!/bin/zsh

しかし、決して実行されません。手動で実行すると実行されますが、atユーティリティを使用してスケジュールすると実行されません。

答え1

cronジョブは、またはを介してat実行されるか、batchデスクトップの同じランタイム環境では実行されません。変更やその他の環境変数の設定は、ジョブにPATH自動的に伝播されませんcron。たとえば、no$DISPLAYなので、GUIプログラムには特別な処理(読み取りman xhost)が必要です。

cron環境変数は、すべてのジョブの読み取りファイルで設定できます。crontabman 5 crontab

echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";alias各環境の結果を確認してください。

その行はデフォルトで解釈されるため、構文はcommandそれよりも単純なので、環境を設定した後に必要なプログラムを呼び出すスクリプト(実行可能、インストール、開始)を呼び出すことをお勧めします。crontab/bin/sh/bin/bashcommandbash#!/bin/bash

関連情報