ホームディレクトリ〜/パスを参照できる名前はありますか?
回答の検索中に、さまざまな用語が使用された投稿が見つかりました。
- ~/文法
- ~/パス
- ~/拡張パス
- ~/記号
ただし、絶対パス全体または相対パスと区別するために使用できる ~/ 構文パスに対して一貫して使用され、便利な用語を見つけることはできません。
シェルがパスを拡張するので、 ~/ パスは絶対パスであることがわかります。これは私が求めているルートを参照する便利な方法です。
答え1
~/
いろいろな魔法の「もの」の一つに過ぎません。チルダ拡張$HOME
チルダの拡張は特にUNIXシェルに関連しています。POSIXシェル標準は、主にbashとzshを含むBourne Shellの派生物であるKorn Shellの「厳密なサブセット」に基づいています。これはチルダ拡張についてPOSIXが言うものです。:
「チルダプレフィックス」は、単語の先頭に引用符が含まれていない文字で構成され、その後に単語に引用符が含まれていない最初の文字の前にあるすべての文字が続き、それ以外の場合は単語のすべての文字が続きます。割り当て(XBD変数の割り当てを参照)では、単語の先頭(つまり、割り当ての後)、引用符なしの文字の後、またはその両方に複数のチルダプレフィックスを使用できます。課題のチルダプレフィックスは、引用符のない最初のorで終わります。チルダプレフィックスに引用符が付けられていない文字がある場合、チルダプレフィックスの後の文字はユーザーデータベースで可能なログインとして扱われます。ポータブルログイン名には、XBDその他の環境変数のLOGNAME環境変数の説明で指定されている文字セット以外の文字を含めることはできません。ログイン名が空の場合(つまり、チルダプレフィックスにチルダのみが含まれている場合)、チルダプレフィックスはHOME変数の値に置き換えられます。 HOME が設定されていない場合、結果は指定されません。それ以外の場合は、チルダプレフィックスをPOSIX.1-2008のシステムインタフェースボリュームで定義されているようにgetpwnam()関数を使用して取得したログインに関連付けられた初期作業ディレクトリのパス名に置き換える必要があります。システムがログイン名を認識しない場合、結果は定義されません。
チルダ拡張で生成されたパス名は、フィールドの分割とパス名の拡張による変更を防ぐために引用符で囲む必要があります。
デフォルトでは、これは~
$ HOMEが与えられ、~foo/
次を指すことを意味します。初期作業ディレクトリユーザ foo はおおよそ foo のホームディレクトリを参照しますが、必ずしもそうではありません。 (私が考えることができる唯一の例外はルートです)
BaSHはチルダ拡張規格に準拠していません。いくつかの方法があります、特に重要なことはありません。 BaSHには他の興味深いチルダ拡張があります。協会コメント作成者@phkが提供しました。みんな集めることができます!
しかし、私は外れた。 〜/という名前について話しているなら、経路自体(形態)を指す用語なのか、それともその~/x/y/z
経路を作るのに使われる現象(例えば、芸術作品対芸術~/
、派生物対微分)。なぜなら、~/ paths
andは~/ expanded paths
前者、そして後者を指しているよう~/ syntax
です~/ notation
。私は仕事を複雑すぎるようですが、言語は気まぐれです。たとえば、~/ paths
で始まるパスの形式を強調し~/
、その形式のパスを作成するために~/ extended paths
実行される機能を強調します。~/
とにかく、今頃ならおそらく気がついたはずです。
認識できない名前
これらすべての用語が流通しており、私たちが権力者から知っている限り、この問題は正式な関心を受けていませんでした。つまり、これらの用語はすべて競合ラベルではなく、同じことを説明する方法です。正式な名前はありませんが、bashを少し知っている人なら誰でもその意味をすぐに知ることができます。人々があなたが何を言っているのか理解すれば、誰が呼ぶものを気にしますか?どの用語を好むかを決定することはあなた次第です。個人的には~/ paths
発音が好きです。「チルダスラッシュパス」。そして現象を見てください「チルダスラッシュパスの略語」。正直に言うと名前も必要ないようですが…