私は設定ファイルを使用しているシェルスクリプトを1つ持っています。私は設定ファイルを使うために次のコードを追加しました。bashスクリプトはnohupで動作していませんが、スタンドアローンとしてはうまく動作します
source abc.config
このシェルスクリプトを手動で実行したときにうまくいきました。しかし、このシェルスクリプトをno hup
を使ってバックグラウンドプロセスにすると、以下のエラーが出ます。
ファイルが見つかりません。ライン19:ソース:abc.configは:私はそれが適切に設定値を取っていると、シェルスクリプトが働いていたデバッグでは
bash -x shell_script.sh
を使用してシェルスクリプトをデバッグ
このシェルスクリプトは数日前に正常に動作していましたが、突然このようなエラーが発生しました。同じスクリプトが別の環境で正常に動作しています。
このシェルスクリプトを適切に実行するには、source文でconfigファイルのフルパスを指定する必要があります。しかし、これは正しい方法ではありません。設定ファイルとシェルスクリプトはどちらも同じフォルダにあり、ソース構文に対しては設定ファイル名だけを与えなければなりません。
この問題を解決するにはどうすればよいですか?
P.S:現在、
source ${path}/abc.config
を次のように私は、configファイルのパスを追加している。しかし、私はそれをパスせずに設定ファイルをソースにしたいです。
私はその解決策に従っていますが、私はsourceコマンドで設定ファイル名だけを使いたいと思います。私は.profile .bashrcを調べて手掛かりを見つけました。何も得られなかった。 – Vidya