バックスラッシュはエイリアスの展開を抑制します。つまり、元のコマンドを実行し、エイリアスバージョンが実行されないようにします。スクリプトは、システムが設定shopt -s expand_aliases
されてsource
いる場合(BASHのみ)、またはを使用して実行された場合に、知らないうちにエイリアス展開で実行できます。
./conda.sh # usually no alias expansion (unless `shopt -s expand_aliases` in BASH)
source ./conda.sh # alias expansion
. ./conda.sh # alias expansion
一部のシステム管理者は、エイリアスが他の場所で意図せずにエイリアスされ、エイリアスが前述のように拡張された場合に備えて、エイリアスの副作用に対する予防策としてすべてにバックスラッシュを使用することを好みます。たとえば、システムがこれをalias dirname='dirname -z'
どこかに設定し、条件がエイリアスの展開を許可している場合、dirnameを呼び出そうとするスクリプトは、残念ながらdirname -z
代わりに呼び出しますが、これは意図したスクリプトではありません。
そのようなエイリアスが存在しないことが確実な場合は、すべてのバックスラッシュを削除でき、正常に機能するはずです。
あるいは、command
バックスラッシュバージョンの代わりにエイリアスを抑制することもできます。したがって、の代わりに\dirname
、を使用しcommand dirname
て読みやすくすることができます。(などの組み込みコマンドの場合はcd
、builtin
代わりに使用する必要があります)。代わりに同じ名前とエイリアスを持つ機能もバイパスするため、代わりにこれを好みます。