フルパスを使用してこのプログラムを呼び出すことができないのはなぜですか?

フルパスを使用してこのプログラムを呼び出すことができないのはなぜですか?

Python 3では、既存のコマンドラインツール用のコマンドラインラッパーを作成しようとしていますが、spookyいくつかの奇妙な動作を理解するのに問題があります。コマンドラインにspookyと入力すると、spookyのマニュアルページが表示されます。/path/to/spookyコマンドラインにspookyツール()パスを入力すると、spookyのマニュアルページも表示されます。

パスにspookyを入れて必須パラメータを入力すると、spookyプログラムを正常に実行できます。

$ spooky -a 50 -b .97

ただし、パスにspookyを入れずに次のコマンドを入力すると、実行されません。

$ /path/to/spooky -a 50 -b .97

プログラムパスと必須パラメータを入力しましたが、なぜプログラムが実行されないのですか?

ベストアンサー1

あなたの質問では、「spooky」は既存のコマンドを意味しますか、それとも自分で書いたPython 3ラッパーを意味しますか?

そして、コマンドラインにspookyと入力すると、マニュアルページが表示されると言いました。そうですか?マニュアルページを呼び出すのは「man spooky」ではなく、「spooky」そのものですか?

次に追加:

あなたが言ったように、「spooky」コマンドは、呼び出される名前を含む独自の引数をチェックし、その名前がフルパス名で実行されたときに発生する「spooky」ではないかどうか不平を言うようです。

簡単な解決策は、ラッパーで「ゴースト」モードでコマンドを実行し、そのコマンドがパスにあることを確認することです。

おすすめ記事