最近、私は徐々にシェルを次に切り替え始めました。怒っている このため、cronからSHELLにパスを割り当てることを検討しました。
ほとんどのマニュアルを読んだ後、man 5 crontab
PATHを見て:
SHELLに値を割り当てたい2つのシェルの間で使用されているルールをコピーしました。
SHELL=/bin/bash:/home/jerzy/.cargo/bin/nu
動作しません。私のcrontabのスクリプトは正しく動作しません。そして両方ともうまくSHELL=/bin/bash
いきます
SHELL=/home/jerzy/.cargo/bin/nu
。
SHELLに2つのシェルを割り当てることはできますか?これは言う?
ベストアンサー1
いいえ、2つのシェルを割り当てることはできませんSHELL
。cron
起動するシェルを知っておく必要があり、1つしか存在できません。変数が指定されSHELL
ていません。crontab
可能指定するシェルこれ使用するシェル。 (存在する場合)cron
値を読み取り、SHELL
それを実行コマンドとして使用します。解釈し:
たり、他の記号は使用しません。
フォールバックも機能しません。何らかの理由で失敗した場合は、理由のために失敗したのか、nu
他の理由で失敗したのかをcron
知る方法はありません。nu
ほとんどのスクリプトは特定のインタプリタ(shebangで指定)用に作成され、1つのインタプリタを使用してスクリプトを実行し、別のインタプリタを使用して実行することはできません。同様に、エントリは指定された(デフォルト以外の場合)念頭に置いてcrontab
作成されます。SHELL
/bin/sh