105.1基礎
現在のBashにllというaliasがある。
他のaliasを残したままllだけを削除する。
適切なコマンドはどれか。
× 不正解
unalias NAMEは指定aliasを削除する。unalias -aは全aliasを削除するため影響範囲が異なる。
詳細解説
誤り
unset ll変数または関数を削除し、alias llは対象にしない。
誤り。aliasは変数・関数とは別の名前表にあり、通常のunsetでは削除できない。
誤り
alias -a llaliasにこの削除構文はない。
誤り。alias組込みの-aは全表示等の削除指定ではなく、要求する構文として成立しない。
誤り
unalias -a現在の全aliasを削除し、llだけという条件に反する。
誤り。ll以外もすべて失うため、他のaliasを残す条件に反する。
正しい
unalias ll指定したll aliasだけを削除する。
正しい。unaliasへ名前を1つ渡すと、そのalias定義だけを取り除く。
実際に確かめる
一時的な検証環境で実行できる例です。
bash --noprofile --norc -ic "alias ll='ls -l'; unalias ll; alias ll" 2>&1 | tail -n 1期待される結果
ll: not foundに相当するエラー理解のポイント
- unalias NAME
- -aは全削除
- unsetとは対象が異なる
確認時の注意
- 確認環境: GNU Bash 5.2 / 一時対話シェル
基礎のおさらい
永続設定
~/.bashrc等に定義が残っていれば、新しいシェルでは再びaliasが作られる。
一時的な回避
aliasを削除せず外部コマンドを呼ぶにはcommand NAMEや\NAME等を使える場合がある。
問題IDKP-105-611
確認環境GNU Bash 5.2 / 一時対話シェル
最終技術確認2026-08-13
誤り・権利侵害を報告