台本を書きました。起動しても停止せず、インターネットからデータを取得し続けます。私はそれをこのように呼ぶことができます:
cd /User/Desktop/project/internetScanner/
python3 main.py start
しかし、宛先内で次のようにターミナルから直接呼び出したいと思います:
internetScanner start
どうすればできますか?
台本を書きました。起動しても停止せず、インターネットからデータを取得し続けます。私はそれをこのように呼ぶことができます:
cd /User/Desktop/project/internetScanner/
python3 main.py start
しかし、宛先内で次のようにターミナルから直接呼び出したいと思います:
internetScanner start
どうすればできますか?
回答:
あなたはおそらく、あなたのファイルの名前を変更する必要がありmain.py
しますinternetScanner
。* nixの拡張はオプションです。ここでは問題になりません。
mv main.py internetScanner
次に、このファイルの先頭に次の行を追加します。
#!/usr/bin/env python3
これにより、シェルがファイルを実行するときにpython3
、コンテンツの解釈に使用することがわかります。これはシバンとして知られています。次に、ファイルを実行可能にします。
chmod +x internetScanner
これで、以下からプログラムを実行できます/User/Desktop/project/internetScanner/
。
./internetScanner start
プログラムはフォアグラウンドで実行され、Ctrl- を押すまで実行を続けますC。これが必要ない場合は、コマンドの後にアンパサンドを追加して、プログラムをバックグラウンドで開始することもできます。
./internetScanner start &
これでプログラムは実行されますが、シェルを引き続き使用できます。これはジョブ制御と呼ばれ、ここには簡単なチュートリアルがあります。
あなたは今、システム上の任意の場所からプログラムを実行することができるようにしたい場合は、あなたが追加する必要がありinternetScanner
、あなたにディレクトリをPATH
:どのようなPATHおよび他の環境変数であり、どのように私は設定したり、それらを使用することができますか?
main.py
シンボリックリンクされている限り、名前を付けることができることに注意してくださいinternetScanner
。
他のファイル/User/Desktop/project/internetScanner/
が不要であると想定して、シングルユーザー向けにインストールする場合は、(ln -s
)main.py
にリンクし$HOME/bin/internetScanner
ます。おそらく$HOME/bin
最初にmkdirを実行する必要があります。
次回ログインしたときに、$HOME/bin
おそらくPATHに追加されます。すべてのユーザーが利用できるようにする場合は、にコピーし/usr/local/bin
ます。
で実行する必要がある場合は/User/Desktop/project/internetScanner/
、インポートos
して呼び出すことから始めます。
os.chdir('/User/Desktop/project/internetScanner/')
またはでランチャースクリプトを作成する$HOME/bin
か/usr/local/bin
を変更することを/User/Desktop/project/internetScanner/
、スクリプトを実行します。
alias internetScanner "python /User/Desktop/project/internetScanner/main.py"
.aliasesファイルに入れます(cshの場合)。bashの場合はalias internetScanner="python /User/Desktop/project/internetScanner/main.py"
、.bashrc に入れます。その後、どこからでもInternetScannerを使用できます。
.aliases
ファイルについて聞いたことがありません。これはBashの標準ですか?それとも明示的にそれをあなたの中に調達する必要があります.bashrc
か?