'at'コマンドでbashエイリアスや機能を理解させるにはどうすればよいですか?

'at'コマンドでbashエイリアスや機能を理解させるにはどうすればよいですか?

bashrc私はその中に次のような関数を書きました。

function build_image ()
{
 ...
}

この関数はソースコードのコンパイルをトリガします。

今、真夜中にこのイメージのビルド/コンパイルプロセスをトリガーする必要があります。だからat命令を使用します。

だから私はこうして走る-

-bash-4.4 $at midnight
warning: commands will be executed using /bin/sh
at> build_image
at> <EOT>
job 4 at Thu Feb 11 00:00:00 2021

使用されたシェルatはshのようです。エイリアスと関数が正しく機能するようにatコマンドにシェルを使用するように指示するにはどうすればよいですか?bash

ベストアンサー1

マニュアルページから:

atが呼び出されると、SHELL環境変数の値によって、at jobコマンドの実行に使用されるシェルが決まります。 atが呼び出されたときにSHELLが設定されていない場合は、ユーザーのログインシェルが使用されます。

ただし、.bashrcこれはシェルが対話型の場合にのみ得られます。この場合、atBASH_ENV変数を設定するか、別のメカニズム(たとえば、別のシェルスクリプトで関数を実装する)を使用する必要があります。よりファイルセクションの開始Bashのマニュアルにあります。

おすすめ記事