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