l
およびv
exec呼び出しでは、引数がlistまたはarray(vector)
のどちらで提供されているかを示します。 。 p
のどこかで読んだ ユーザーのパスとe
を示します 環境を示しますが、それが何を意味するのか理解できませんでしたか?
承認された回答:
Exec関数に関するこのウィキペディアのリンクとexec()呼び出しによるプロセスの開始に関するこのリンクを確認してください
e –環境変数へのポインタの配列が新しいプロセスイメージに明示的に渡されます。
「e」サフィックスバージョンは、環境をプログラムに渡します。
環境はまさにそれであり、プログラムが
動作するための一種の「コンテキスト」です。たとえば、単語の辞書を備えた
スペルチェッカーがあるとします。コマンドラインで毎回
辞書の場所を指定する代わりに、
環境で辞書を指定できます:
l –コマンドライン引数は個別に(リスト)関数に渡されます。
たとえば、引数-t、
-r、および-lを指定してlsコマンドを呼び出したい場合(「出力を時間で逆の順序で並べ替え、出力の長いバージョンを表示する」という意味) )、
どちらかとして指定できます。
p – PATH環境変数を使用して、実行するpath引数で指定されたファイルを検索します。
「p」サフィックスバージョンは、PATH
環境変数内のディレクトリを検索して、実行可能ファイルを見つけます。
すべての例には、実行可能ファイルのハードコードされた場所があります:
/ bin/lsおよび/usr/ bin/spellcheck。他の実行可能ファイルはどうですか?
最初にその特定のプログラムの正確なパスを知りたい場合を除いて、
ユーザーに、実行可能ファイルを検索するすべての場所を
プログラムに指示してもらうのが最善です。標準のPATH環境変数は
まさにそれを行います。
v –コマンドライン引数は、ポインターの配列(ベクトル)として関数に渡されます。
引数リストは、引数ベクトルへのポインタを介して指定されます。
他の回答で述べたように、Unixシステムコールに関するこのリンクも同様にさらに読むのに最適です。
関連:$ PWD? (vs現在の作業ディレクトリ)?