このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

ファイルパス名の構成部分の、呼び名と定義

basename, dirnameというコマンドとか関数があります。これにより、ファイル(またはディレクトリ)のフルパスを2つの部分に分けることができます。それぞれの部分を「ベース名」、「ディレクトリ名」と呼ぶのは常識と言ってもいいと思います。また、「+」を文字列連接演算だとして次の関係があります。

  • fullpath = dirname + '/' + basename

ところが、ルートディレクトリに関してはこの関係が成り立たないことがあります。GNUのコマンドでは、「basename /」も「dirname /」も結果が / なので、上の等式はそのままでは成立しません。でも、ルートに対するbasename, dirnameを共に空だと定義し直せばOKです。

ベース名には拡張子が含まれることがあります。ベース名から拡張子を除いた部分は何て呼ぶんでしょう? ルート名(root name)という呼び名を見たような記憶があるんですが定かじゃないです。ルート名って呼び名があったにしてもヨロシクナイですよね。主要名(トランク名、trunk name)というのがヨイかと思います。

そうすると:

  • fullpath = dirname + '/' + trunkname + extension

てことになります。拡張子にはピリオドを含めることが多いようですから、trunknameとextensionは単純に連接。ピリオドから始まる名前のときは、ベース名全部が拡張子か? とかの疑問もあるんですが、特に定説はないようですね(あったら教えてください)。