쉘 스크립트 변수 보유 명령은 어떻게 작동합니까? [폐쇄]

쉘 스크립트 변수 보유 명령은 어떻게 작동합니까? [폐쇄]

컴퓨터를 시작할 때마다 소스에서 프로그램을 컴파일하는 자동 컴파일 스크립트를 만들려고 합니다. 현재는 다음과 같습니다(정확한 구문은 기억나지 않습니다).

VAR=$(sudo git pull)

if (VAR = "Nothing to update")

{

#do nothing

}

else {

#compile package

}

이것이 작동할까요? VAR=$ 또는 if 문 중에 sudo git pull이 호출되는지 알고 싶습니다.

답변1

이 명령은 초기 명령 대체(예: ) 중에만 호출됩니다 VAR=$(sudo git pull).

이것을 쉽게 테스트할 수 있습니다.

$ VAR=$(touch foo; echo bar)
$ echo $VAR
bar
$ ls -l foo
-rw-r--r-- 1 me me 0 Dec  7 16:28 foo

파일을 생성했고 foo명령 바꾸기()의 출력이 bar에 할당된 것을 볼 수 있습니다 $VAR.

이제 잠시 기다렸다가 변수에 다시 액세스하십시오.

$ echo $VAR
bar
$ ls -l foo
-rw-r--r-- 1 me me 0 Dec  7 16:28 foo

표시되는 수정 시간은 foo변경되지 않았습니다.

관련 정보