コマンドの先頭にバックスラッシュをつける理由
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
ダブルクォートで囲んでも同様で、エイリアスは適用されない。