2016-07-26 6 views
0

現在の日付を含むファイルで何かしたいとします。 bashプロンプトで、私はこれを行うことができます: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)を使用して、サブプロセスとしてコマンドを実行するのではなく、シェルがコマンドで置き換えられて終了するのを待つことになります。

関連する問題