"bash"コマンドを使用または使用せずにシェルスクリプトを実行する[閉じる]

前に「bash」を追加すると、正しく実行されるスクリプトがあります。

bash ./myscript.sh /opt/config/run.config

しかし、そうしないと、下の行で停止して終了します。

source "/opt/config/test.config"

コマンドの前にbashを追加しても問題はありません。

新しいボックスを設定するときに不足している環境変数に何かがありますか?同じスクリプトが以前のシステムでも問題なく動作します。

ベストアンサー1

#!/bin/bash解決策:スクリプトヘッドにshebangを追加してください。

最初の行に必要なシェルを強制的に適用できます。#!/bin/bashこれは現在実行中のタスクを実行する別の方法です。bash ./myscript ...

#!/bin/bash

...
...
source "/opt/config/test.config"
...
...

問題の考えられる説明

シェルにはsource組み込みコマンドはありませんsh(そして名前の付いたプログラムもありませんsource)。したがって、スクリプトが によって実行されると、shコマンドラインで失敗しますsource

おすすめ記事