シェルにおける ~ の意味

未分類

1. ホームディレクトリを指すショートカット

  • ~シェル(bash など)によって展開されて、現在のユーザーのホームディレクトリのパスに置き換わります
  • たとえばユーザー alice のホームが /home/alice なら、~/Documents/home/alice/Documents と同じ意味になります。

2. 別のユーザーのホーム参照

  • ~bob のように書くと、ユーザー bob のホームディレクトリに展開されます。
  • ただし、この書き方は、~moretext のようにユーザー名として解釈できない場合には展開されず、そのまま文字列扱いになります。

3. 環境変数 $HOME と同義

  • ~$HOME を簡略化した表現で、同様にホームディレクトリを指します。 cd ~ cd $HOME どちらも同じ効果です。

補足:実用上の注意点

  • 引用符(”"')で囲むと~ は展開されず、文字として扱われることがあります。一部のスクリプトでは $HOME を使った方が安全です。
  • ユーザー名付き~bob/dir は、そのユーザーがシステムに存在しない場合は展開されずそのまま残ります。

まとめ

表記解釈・意味
~現在ログイン中ユーザーのホームディレクトリ ($HOME)
~/pathホームディレクトリからの相対パス
~username/dir指定したユーザーのホームディレクトリ
"$HOME"~ と同じだが引用による展開の違いあり

コメント

タイトルとURLをコピーしました