2016-07-26 12 views
0

현재 날짜가 들어있는 파일로 무엇인가를하고 싶다고 가정합니다. 떠들썩한 프롬프트에서 난 그냥이 작업을 수행 할 수 있습니다 :LaunchAgents의 프로그램 인수로 현재 날짜 포함

$ touch /Foo/$(date +%Y-%m-%d) 

내가 사용할 수 $()이없는 LaunchAgents의 PLIST에 어떻게 그렇게 할 수 있을까? 전체 명령은 다음 하나의 인수로 bash에 전달되고 있음을

<key>ProgramArguments</key> 
<array> 
    <string>bash</string> 
    <string>-c</string> 
    <string>touch /Foo/$(date +%Y-%m-%d)</string> 
</array> 

참고 :

<key>ProgramArguments</key> 
<array> 
    <string>touch</string> 
    <string>/Foo/CURRENT-DATE-HERE</string> 
</array> 

답변

2

하나의 가능성은 확장을 할 쉘을 실행 한 후 실제 명령을 실행하는 것입니다 그것은 임베디드 공간으로 인해 명령 대 인수로 나뉘어집니다. 장기 실행 명령 인 경우 exec touch /Foo/$(date +%Y-%m-%d)을 사용하여 쉘이 명령을 하위 프로세스로 실행하지 않고 명령 대신 바꾼 다음 종료 될 때까지 기다릴 수 있습니다.