Pythonでスクリプトを作成し、実行可能にします/usr/local/bin/
。しかし、コマンドに関連する他の多くのファイルがありますが、どこに入れるべきですか?入れてみましたが、うまくいき/usr/local/
ませんでした。
from: can't read /var/mail/lib.arguments
from: can't read /var/mail/lib.shot
from: can't read /var/mail/gui.main
/usr/local/bin/shot: 6: Syntax error: "(" unexpected
このエラーは奇妙なようです。/var/mail/
。
また、プロジェクト全体を/usr/local/
ファイルに移動し、シンボリックリンクを作成してmain
から、シンボリックリンクを/usr/local/bin/
ディレクトリに移動してみました。
ln -s main /usr/local/bin
ところで、私はUbuntuを使っています。
修正する:
からに変更しましたshebang
。私のプロジェクトディレクトリに移動し、ファイルをコピーして名前を 。#!/bin/sh
#!/usr/bin/python3
main.py
main
/usr/local/bin
私の問題は、ファイル名が灰色の背景に赤で、コマンドを呼び出せないことです。
答え1
確認してくださいman ln
。
ln -s main /usr/local/bin/yourscript
リンクのディレクトリ名を指定しないでください/usr/local/bin
。必要なディレクトリにファイル名を指定します。スクリプトをバイナリディレクトリに配置することに注意してください。あまりきれいではありません。
編集:Pythonはディレクトリに何を置くかについて少し変かもしれませんbin
。ほとんどのコンテンツは実際にはバイナリでもなく、バイナリへのリンクでもありません。通常はそれ自体がインポートする小さなPythonスクリプトです。その一部を確認してください。たとえば、pydoc
次の内容を入力します/usr/bin/pydoc
。
1 #!/usr/bin/python3.8
1
2 import pydoc
3 if __name__ == '__main__':
4 pydoc.cli()
bin
単にPythonスクリプトを実行したい場合は、そのスクリプトをディレクトリに配置する必要はありません。
- 他のプログラムから呼び出すには、
PATH
そのプログラムがあるディレクトリに展開するだけです。そしてPATH=$PATH:/MY/PATH
。一部のプログラムは独自のパス変数を使用します。ぜひご確認くださいenvironmental variables
。 Pythonの場合は確認してください。ここ、PythonがPYTHONPATH
。 bash
1つだけ定義できますalias=myscript
。