シェルスクリプト「while」条件の「-h」パラメータ

シェルスクリプト「while」条件の「-h」パラメータ

すでに作成されたシェルスクリプトを理解しようとしていますが、次の行が見つかりました。

while [ -h "$SOURCE" ];

私が知る必要があるのは- 時間

追加情報は次のとおりです。

$SOURCE = ./my-script.sh

ベストアンサー1

キーワード-hオプションwhileではなくユーティリティオプション[ですtest。このオプションの意味は、シェルまたはマニュアル(通常は組み込みユーティリティなので)testで説明されています。これを参照してください。[man test

それ基準testPOSIX[規格それを描くこのように:

-h pathname

既存のディレクトリエントリがシンボリックリンクである場合はpathname真です。pathname確認できない場合は、pathnameFalseを返すか、シンボリックリンクではなくファイルの既存のディレクトリエントリとして解決されます。最後のコンポーネントがpathnameシンボリックリンクの場合、シンボリックリンクに従わないでください。

一言で言うと本物与えられたパス名がシンボリックリンクである場合、変数のwhile値がSOURCEシンボリックリンクを参照しなくなるまでループが繰り返されます。

おすすめ記事