本文へスキップ

dirname 関数

dirname は、ファイルシステムパスを含む文字列を受け取り、その最後の部分を削除します。

この関数はパス文字列のみを操作し、ファイルシステム自体にはアクセスしません。そのため、シンボリックリンクなどのファイルシステム機能を考慮することはできません。

パスが空の場合、結果は"."となり、現在の作業ディレクトリを表します。

この関数の動作はホストプラットフォームによって異なります。Windowsシステムでは、パスセグメントのセパレータとしてバックスラッシュ\を使用します。Unixシステムでは、スラッシュ/が使用されます。この関数の結果は正規化されるため、Windowsシステムでは、指定されたパス内のスラッシュはすべてバックスラッシュに置き換えられてから返されます。

リソース引数でファイルシステムパスを直接参照すると、同じ構成が複数のシステムから、または異なるホストオペレーティングシステム上で適用された場合、不必要な差分が発生する可能性があります。ファイルシステムパスは、file(その場合、コンテンツのみが保存されます)の引数やconnectionおよびprovisionerブロックなど、一時的な値に対してのみ使用することをお勧めします。

コードブロック
> dirname("foo/bar/baz.txt")
foo/bar
  • basename は、ファイルシステムパスの最後の部分のみを返し、dirnameによって返される部分を破棄します。