2009-07-15 16 views
0

利用可能なすべてのUNIXコマンドをPerlから一覧表示する方法はありますか?私のパス上のプログラムのリストをPerlから取得するにはどうすればよいですか?

+1

$ ENV {PATH}の実行可能ファイルを探してみましたか?何を試しましたか?この宿題ですか? – dave4420

+2

まず、 "UNIXコマンド"を定義する必要があります。 – Quentin

+0

私は答えを得ました...私は$ ENV {path}について考えなかった – joe

答えて

10
perl -MFile::Find -le 'find sub {print if -f and -x _}, split ":", $ENV{PATH}' 

このコードは(-x)実行可能ファイル(-f)のために(split ":", $ENV{PATH})あなたのパス内の各ディレクトリを検索し、それが見つけたものを印刷します。あなたはPATH内のディレクトリのサブディレクトリを検索しない代替が

perl -le '-f and -x _ and print for map { glob "$_/*" } split ":", $ENV{PATH}' 

を読むことをお勧めします

+0

これは少し珍しい '$ PATH'のサブディレクトリを検索します... – ephemient

+0

@ephemient良い点ですが、私は通常binディレクトリにサブディレクトリを表示しません。 –

+0

My〜/ binはgitリポジトリです。binディレクトリにサブディレクトリを作成する方法があります。 – Schwern

関連する問題