数ヶ月前に私は日付を取得するためにbashを書いた。これらの日付は、データベースからデータを取得するために後で使用するために、不可解なスクリプトで事実として必要でした。しかしBashの日付クエリが動作しなくなった
- name: Set date variables
set_fact:
first_day_last_month: "{{lookup('pipe','date -d \"-1 month -$(($(date +%d)-1)) days\" +%Y-%m-%d')}}"
last_day_last_month: "{{lookup('pipe','date -d \"$(date +%Y-%m-01) -1 day\" +%Y-%m-%d')}}"
first_day_current_month: "{{lookup('pipe','date -d \"-$(($(date +%d)-1)) days\" +%Y-%m-%d')}}"
last_day_current_month: "{{lookup('pipe','date -d \"-$(date +%d) days +1 month\" +%Y-%m-%d')}}"
私はこれを実行すると、今、私はエラーを取得する: /binに/ SH:1:算術式を:EOF期待: "08-1"
今日ここには、コードになるまで、これがうまく働きました私はbashのコマンドライン上でデバッグしようとした:
[email protected]:~$ echo $(date -d "-$($(date +%d)-1)")
08-1: command not found
Mit Nov 8 00:00:00 CET 2017
が、今まで、私はそれを固定届きません。
誰でもご存知ですか?
デバッギングコマンドは、かっこのセットを欠いています。$(())は、2セットのかっこで構成されています。 – marcolz
@marcolz:はい、同意しますが、(デバッグステップ以外の)問題コードの* *には '$(date ..)'しかありません。皆さんお元気で。 – shellter