2009-07-13 18 views
2

私はLinux環境向けにプログラミングを新しくしているので、自分自身でこの質問に答えるために何を探すべきか正確には分かりません。アプリケーションがシェルを起動して特定のコマンドを受け付けるように設定する方法を理解する必要があります。たとえば、firefoxを実行すると、コマンドラインからFirefoxを起動できます。私のアプリケーションを起動するためのbashコマンドライン変数を設定する

これはどこに定義されているのですか。メイクファイル?スクリプトを設定しますか?ソースコード自体では?

これらのようなLinuxプログラミング上のヒントやリソースは、高く評価されます。

ありがとうございます。

答えて

5

"firefox"という名前の$ PATH環境変数のいずれかのフォルダに実行可能ファイルが存在するため、Firefoxはコマンド "firefox"によって起動されます。

2

PATH変数についてお聞きしますか?あなたのように思えます。

Linuxでは、 "echo $ PATH"(引用符なし)と入力して、プログラムが置かれている場所(firefoxなど)の ":"区切りリストを取得できるはずです。

あなたのパスに何かを追加する必要がある場合は、あなたが行うことができる必要があります:あなたのシェルで

export PATH=$PATH:/another/directory 

(最も可能性が高いbashのである)

あなたも入力することができます。

which firefox 

firefox実行可能ファイルの場所を表示します。

2

通常、シェルには$ PATHという環境変数が設定されます。これは、誰かがコマンドを入力したときに見えるすべてのディレクトリの順序付けられたリストです。実行ファイルが見つかると(実行権限を持っているファイルで、.exeで終わるファイルではありません)、タイプされたものと同じ名前で、そのファイルが実行されます。

したがって、「firefox」と入力すると、シェルは$ PATH内のすべてのディレクトリを調べて、/ bin// bin/usr/local/bin/firefoxを実行し、それを実行します。あなた自身のプログラムを同じように動かすには、すべてのユーザのパスにある可能性の高いディレクトリ(/ usr/local/bin /は良い選択です)にそれらのファイル(またはそれらへのシンボリックリンク)を入れるか、 )、またはあなたのユーザにプログラムのディレクトリを$ PATHに追加させる必要があります。

詳細な説明は、$ PATH変数のWikipedia articleを参照してください。

0

前述の$ PATHを変更する代わりに、すでに$ PATHにあるディレクトリの1つに実行可能ファイルをコピーまたはリンクすることもできます。より具体的には、ほとんどのUNIXシステムではほとんどこの目的のために/usr/local/bin/が利用できます(オペレーティングシステムのデフォルトパッケージ管理外にソフトウェアをインストールする)。

0

それは誰もが述べたように、パスにしておく必要がありますが、あなたもこのようなもので、それを実行可能にする必要があるかもしれません:

chmod +x /path/to/file 

そして、それはスクリプトだ場合は、その上部にシェバングが通常あります

#! /usr/bin/python 
0

は多くの場合、大きなパッケージがどこかPATHでラッパースクリプトまたはリンクを/optにインストールされています。それを実行するために使用するためにどのようなOSが伝えます。例えば、私のシステムで、Google Picasa/opt/google/picasaにインストールされ、シンボリックリンクが/usr/bin/picasaFirefox

/opt/google/picasa/3.0/picasaにでありことは私のシステムで /usr/bin/firefoxであり、それが /usr/lib/firefox-3.0.11/firefox.shへのシンボリックリンクそのものである /usr/bin/firefox-3.0へのシンボリックリンクです - そのシェルファイルファンブル最終的に /usr/lib/firefox-3.0.11/firefoxが実行されるまで(何か他のことを行う理由が見つからない限り)。これは最終的にバイナリ実行可能ファイルです。だから /usr/libは私のために firefoxがインストールされています。

あなたは、プログラムがどこにあるかを見つけるために、このコマンドを使用することができます。

type -a firefox 

その後、あなたはそれがこれを使用しているファイルの種類を見つけることができます。

file /usr/bin/firefox 

Filesystem Heirarchy Standardを見ますファイルとプログラムの推奨場所の詳細については、こちらを参照してください。

関連する問題