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