コマンドラインから2回呼び出されたプログラム

コマンドラインから2回呼び出されたプログラム

myscriptいくつかの理由で名前を付けた(Python3)スクリプトがあるとしましょうmyscriptいいえ myscript.py)は、次の名前のサブディレクトリに保存されますbin

mydir/
mydir/bin/
mydir/bin/myscript       -rwxr-xr-x

myscript次から始まった一般的なSherbonライン、今すぐ:

#!/usr/bin/env python3

と入力すると、mydir/次のようにスクリプトを呼び出します。

$ ./bin/myscript

結果がとても魅力的で、myscript2回も電話を受けました!私は次のようなものを得ます:

sh: 1: myscript: not found
*** specific message defined in myscript ***

最初の行は、明らかにシェルが名前付きコマンドを見つけようとしているという信号ですmyscript。 2行目は私が書いたものですmyscript

私のスクリプトが2回呼び出されるのはなぜですか?

ベストアンサー1

myscript@Kusalanandaは、あなたのスクリプトがを使用している可能性があると述べました。system()呼び出すと、インクルードsystemディレクトリがシェルの変数にmyscriptないため、相対$PATHパスではなくフルパスを渡す必要がありますmyscript

おすすめ記事