Cronjobは他のスクリプトを呼び出すスクリプトを実行します。

Cronjobは他のスクリプトを呼び出すスクリプトを実行します。

私のcronjobは次のようになります

0 3 * * 0-6 somedir/promotionscript

ただし、Promotionscriptは実際にsomedirの親フォルダにある別のファイル「config」を呼び出します。

#promotionscript
#!/bin/csh
source ../config

ただし、構成:そのファイルまたはディレクトリはありません。そのため、cronjobが特定のディレクトリで実行されていないと考えて、プロモーションスクリプトの実行を開始すると、特定のディレクトリについてはわかりません。 cronjob が親フォルダで構成を検索できるようにする方法.

考えられる解決策の1つは、設定にフルパスを追加できることです。

source fullpath/config

しかし、cronjobにフルパスを直接認識させる方法はありますか?

ベストアンサー1

dirnameシェルまたはシェルスクリプトの名前から取得します$0。次に、次のようにします。

source `dirname $0`/../config

おすすめ記事