すでに作成されたシェルスクリプトを理解しようとしていますが、次の行が見つかりました。
while [ -h "$SOURCE" ];
私が知る必要があるのは- 時間
追加情報は次のとおりです。
$SOURCE = ./my-script.sh
ベストアンサー1
キーワード-h
オプションwhile
ではなくユーティリティオプション[
ですtest
。このオプションの意味は、シェルまたはマニュアル(通常は組み込みユーティリティなので)test
で説明されています。これを参照してください。[
man test
それ基準test
POSIX[
規格それを描くこのように:
-h pathname
既存のディレクトリエントリがシンボリックリンクである場合は
pathname
真です。pathname
確認できない場合は、pathname
Falseを返すか、シンボリックリンクではなくファイルの既存のディレクトリエントリとして解決されます。最後のコンポーネントがpathname
シンボリックリンクの場合、シンボリックリンクに従わないでください。
一言で言うと本物与えられたパス名がシンボリックリンクである場合、変数のwhile
値がSOURCE
シンボリックリンクを参照しなくなるまでループが繰り返されます。