2
systemd
タイマーを実行しようとしていて、実行されたスクリプトの出力を日付ごとにファイルに保存します。ここに私のExecStart
スクリプトは.service
ファイルである:
これは、ファイルが作成されますが、代わりに月名の「ハッシュ」を追加します。
~/test_output_2017-ea3c0c2dd56c499a93412641e41008db-01.log
内容は同じです:
2017-ea3c0c2dd56c499a93412641e41008db-01
/bin/bash -c 'echo $(date +%Y-%m-%d)'
をsystemdサービスに渡さずにシェルで実行すると、期待通りに機能します。印刷物: 2017-09-01
。
systemd
環境では、%m
は月番号以外の何かを表していますか?
スクリプトからの標準出力を現在の日付のファイルに入れるためのsystemdサービスの設定方法はありますか? 予想される結果: test_output_2017-09-01.log
ありがとうございます。
を渡すためにあなたがTRました'$(date +%Y-%m-%d)'の代わりに '' '' 'date +%Y-%m-%d' \ – user3336433
'$(...)'はコマンドを評価します。それ以外の場合、省略すると 'date +%Y-%m-%d'が文字列として出力されます。 –
'...'のような$(...)..コマンド置換=> https://www.gnu.org/software/bash/manual/html_node/Command-Substitution.html#Command-Substitution – user3336433