0

パスが不明なコマンドを実行する必要があります。環境パスにアクセスできますが、どのように使用できますか? たとえば、5 つの異なるパスがある場合、 execv でどのパスを試す必要がありますか?

/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

これらのパスを配列で解析した後、どのように使用できますか? それぞれに対して execv を試す必要がありますか?

4

1 に答える 1

0

を使用するだけexecvpで、実行中のシェルでバイナリを検索できますPATH( http://linux.about.com/library/cmd/blcmdl3_execv.htmを参照)。

それができない場合は、/ シェルと同じことを行う必要がありますexecvp: パスを 1 つずつ (左から右に) 見て、そこに指定された名前の実行可能ファイルがあるかどうかを確認します。

于 2012-11-22T08:29:03.953 に答える