104.7標準
Bashでprintfという名前がalias、function、builtin、実行ファイルのどれとして解釈され得るか確認する。
PATH上の実行ファイルだけでなく、同名の候補をすべて表示する。
適切なコマンドはどれか。
× 不正解
Bashのtypeは名前がコマンドとしてどう解釈されるかを示す。-aは同名の候補をすべて表示する。
詳細解説
誤り
which printf通常はPATH上の実行ファイル探索が中心でshell組み込み等の全解釈を示さない。
PATH実行物中心で不十分である。
誤り
whereis printfbinaryやmanualの標準配置検索でshellのalias等を扱わない。
配置ファイル検索である。
誤り
type -p printf実行ファイルのパスに限定する方向で全候補を求める要件と違う。
file pathへ限定する。
正しい
type -a printfBashが認識する同名の全候補をalias、function、builtin、PATHを含めて表示する。
正解。shell内外の全候補を示す。
実際に確かめる
一時的な検証環境で実行できる例です。
type -a printf期待される結果
printf is a shell builtinに加え、存在すればPATH上の実行ファイル理解のポイント
- shell builtin
- alias/functionも対象
- -aは全候補
確認時の注意
- 確認環境: Bash 5.2
基礎のおさらい
優先順位
alias、function、builtin、hashed command、PATH等がcommand解決に関係する。
whichとの違い
shell構文を正確に調べる用途では、そのshellのtypeやcommand -Vが適する。
問題IDKP-104-296
確認環境Bash 5.2
最終技術確認2026-08-13
誤り・権利侵害を報告