myscript
いくつかの理由で名前を付けた(Python3)スクリプトがあるとしましょうmyscript
。いいえ myscript.py
)は、次の名前のサブディレクトリに保存されますbin
。
mydir/
mydir/bin/
mydir/bin/myscript -rwxr-xr-x
myscript
次から始まった一般的なSherbonライン、今すぐ:
#!/usr/bin/env python3
と入力すると、mydir/
次のようにスクリプトを呼び出します。
$ ./bin/myscript
結果がとても魅力的で、myscript
2回も電話を受けました!私は次のようなものを得ます:
sh: 1: myscript: not found
*** specific message defined in myscript ***
最初の行は、明らかにシェルが名前付きコマンドを見つけようとしているという信号ですmyscript
。 2行目は私が書いたものですmyscript
。
私のスクリプトが2回呼び出されるのはなぜですか?
ベストアンサー1
myscript
@Kusalanandaは、あなたのスクリプトがを使用している可能性があると述べました。system()
呼び出すと、インクルードsystem
ディレクトリがシェルの変数にmyscript
ないため、相対$PATH
パスではなくフルパスを渡す必要がありますmyscript
。