コマンドの先頭にバックスラッシュをつける理由
RVMをインストールする機会があり、手順を確認してインストールした。
\curl -sSL https://get.rvm.io | bash -s stable
このときcurl
の先頭に\
がついているのが気になり、付けない場合と何が違うのか調べた。
\
つける理由は、shellのエイリアスの影響を受けないようにするため。
エイリアスはある単語を別の単語に置換するためのリスト。コマンドの先頭の単語がこのリストに一致するときに、別の単語に置換する。ただし、その単語がクォートされているときは置換されない。
一方で、\
はそのあとの1文字をクォートするエスケープ文字で、\curl
は先頭の一文字のみクォートした単語となる。これがエイリアスの条件を満たさないようで、これを狙った記法のようだ。
前述のとおり、単語がクォートされているときは置換されないので、コマンドを
'curl' -sSL https://get.rvm.io | bash -s stable
シングルクォートや
"curl" -sSL https://get.rvm.io | bash -s stable
ダブルクォートで囲んでも同様で、エイリアスは適用されない。