私はexecv
Cで使用していますが、実行するにはコマンドのパスを取得する必要があります。次に例を示します。
ls
には、私は持っている必要がありますchar* command = "/bin/ls";
gedit
にはchar *が必要ですcommand = "/usr/bin/gedit";
私の質問は、文字列を取得する方法"/bin"
または"/usr/bin"
Cで取得する方法ですか?
PATH変数は環境から取得できます。次に、それを解析して各コンポーネントを取得し、各コンポーネントの場所で、指定されたコマンド(ファイル)がそこに存在するかどうかを確認します。
これは基本的にwhich
コマンドが行うことです。Linuxユーティリティのソースコードはオンラインで見つけることができます
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加