
이미 작성된 쉘 스크립트를 이해하려고 하는데 다음 줄을 발견했습니다.
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
더 이상 심볼릭 링크를 참조하지 않을 때까지 루프가 반복됩니다.