2016年11月22日火曜日

<Linux>which -aなんて使ったことなかった。。。

何事もマニュアルや公式ドキュメント当たって調べてみるべきですね。
perlの本読んでたらwhich -a perlと載っていました。
whichコマンドにもオプションが存在していたって知らなかった。。。

-a オプションをつけると、引数に指定したコマンド(実行ファイル)の場所を全て列挙する。
javaなど、複数のバージョンの実行ファイルなどあった場合に、全てのファイルの位置が出るそうです。
デフォルトは一番初めのもののみ。

以下、自分の環境での man whichのベタ張りです。
NAME
     which -- locate a program file in the user's path

SYNOPSIS
     which [-as] program ...

DESCRIPTION
     The which utility takes a list of command names and searches 
     the path for each executable file that would be run had these commands actually been
     invoked.

     The following options are available:

     -a      List all instances of executables found (instead of just the first one of each).

     -s      No output, just return 0 if any of the executables are found, or 1 if none are found.

     Some shells may provide a builtin which command which is similar or identical to this utility.  
     Consult the builtin(1) manual page.

SEE ALSO
     builtin(1), csh(1), find(1), locate(1), whereis(1)

HISTORY
     The which command first appeared in FreeBSD 2.1.

AUTHORS
     The which utility was originally written in Perl and was contributed 
     by Wolfram Schneider .  The current version of which was
     rewritten in C by Daniel Papasian .

ちなみに、引数は複数取れるというのは今日初めて知りました。

$ which java perl
/usr/bin/java
/usr/bin/perl

0 件のコメント:

コメントを投稿