whenceコマンド(文字列をコマンドとした場合の解釈を表示する)
形式
whence [-p][-v] name [name...]
機能
指定された文字列をコマンドとした場合の解釈を標準出力に出力します。オプションを指定しない場合は次の内容を出力します。
-
nameに指定された文字列がコマンドのときは,コマンドのパス名を出力します。
-
nameに指定された文字列がエイリアスのときは,エイリアスの値を出力します。
-
nameに指定された文字列が予約語,シェル標準コマンド,シェル拡張コマンドまたは関数のときは,nameを出力します。
-
上記のどれにも該当しない場合は,何も出力しないで終了コード1で終了します。
-pオプションと-vオプションを同時に指定した場合は,nameに指定された文字列をコマンドと解釈して出力します。引数nameを指定しなかった場合は,終了コード1でエラー終了します。
引数
- -p
-
nameに指定された文字列をコマンドとした場合のコマンドパスを出力します。
- -v
-
nameに指定された文字列がコマンド,予約語,エイリアス,シェル標準コマンド,シェル拡張コマンドまたは関数かどうかを出力します。
出力内容を次の表に示します。
項番
出力内容
意味
1
name is a reserved word
nameは予約語です。
2
name is a function
nameは関数です。
3
name is a traced function
nameはトレースモードが有効な関数です。
関数が未定義で,かつ関数のトレースモードが有効な場合は,項番4の内容が出力されます。
4
name is an undefined function
nameは未定義の関数です。
5
name is an extended shell command
nameはシェル拡張コマンドです。
6
name is a shell builtin
nameは組み込みコマンドです。
7
name is a special shell builtin
nameは特殊組み込みコマンドです。
8
name is a shell builtin not supported
nameはJP1/Advanced Shellで提供しないコマンドです。
9
name is パス名
nameはコマンドまたは実行できるファイルです。
10
name is an alias for 'エイリアスの値'
nameはエイリアスです。
11
name is an exported alias for 'エイリアスの値'
nameはエクスポートされたエイリアスです。
12
name not found
nameはコマンド,予約語,エイリアス,シェル標準コマンド,シェル拡張コマンドまたは関数のどれも該当しません。
- name
-
コマンドとして扱う文字列を指定します。引数nameを指定しなかった場合は,終了コード1でエラー終了します。
終了コード
終了コード |
意味 |
---|---|
0 |
正常終了 |
1 |
エラー終了。または,nameに指定したコマンドのどれかが見つかりません。 |
注意事項
-
この正規組み込みコマンドは,コマンドの構文を誤ってもコマンドを実行しているシェルは終了しません。
使用例
-
pwdをコマンドとした場合のコマンドパスを出力します。
ジョブ定義スクリプトの内容
whence -p pwd
実行ジョブのSTDOUTファイルの内容
******** JOB SCOPE STDOUT ******** /bin/pwd