1.06.1基礎
現在の対話的Bashで、llを入力するとls -alFを実行する短縮名を作る。
適切なコマンドはどれか。
× 不正解
alias NAME='replacement'で対話的なコマンド短縮名を定義できる。永続化する場合は適切な起動ファイルへ記述する。
詳細解説
正しい
alias ll='ls -alF'llというaliasへ展開文字列ls -alFを登録する。
alias ll='ls -alF'はllを置換対象名、ls -alFを展開文字列として登録する。対話シェルでllを短縮入力として使える。
誤り
export ll='ls -alF'環境変数llを作るが、コマンド名のaliasにはならない。
exportはllという環境変数を作るだけである。コマンド名llを入力してもls -alFへ展開しない。
誤り
set ll='ls -alF'この形式でaliasを定義するBash構文ではない。
setはalias定義のためのNAME=value組込みではない。この指定では意図した短縮コマンドを作れない。
誤り
source ll='ls -alF'sourceは設定ファイルを読み込む組込みである。
sourceは第1引数を読み込むファイル名として扱う。llというaliasを登録する構文ではない。
実際に確かめる
一時的な検証環境で実行できる例です。
bash --noprofile --norc -ic "alias ll='printf alias-ok\\n'; ll"期待される結果
alias-ok理解のポイント
- aliasで短縮名を定義
- 対話シェルで展開
- 永続化はbashrc等
確認時の注意
- 確認環境: GNU Bash 5.2 / 一時対話シェル
- 非対話シェルではalias展開が既定で無効な場合があり、スクリプトでは関数等を検討する。
基礎のおさらい
展開の時点
Bashはコマンド実行前の解析段階でalias名を置換する。外部プログラムとしてaliasファイルが作られるわけではない。
永続化
現在シェルだけの定義は終了時に失われる。継続利用するなら~/.bashrcなど適切な対話設定へ記述する。
問題IDKL-102-907
確認環境GNU Bash 5.2 / 一時対話シェル
最終技術確認2026-08-13
誤り・権利侵害を報告