私はbash oneライナーを書いています。 この作品(プリントがコンソールに日付やそれを実行しようとします):Bash:エスケープ変数
-bash-4.1$ DATE=`$(date --date="2 days ago" +%F)` echo "${DATE}"
しかし、この:
`DATE=$(date --date="2 days ago" +%F)` psql -d some_db -c "select row from table where started >= '${DATE}' and started < ('${DATE}'::date + '1 day'::interval);"
は与える:
ERROR: invalid input syntax for type timestamp: ""
LINE 1: ... table where started >= '' ...
を${DATE}
が空であることを意味しています。 動作させるために変更する必要はありますか?
Wの二つの文にコマンドあなたは '$(...)'と同じコマンドで古いバックティックを混ぜていますか? – anubhava
ええ、少なくとも名前については分かっていますが、最初の例では空の文字列ではありません。 – mnowotka
あなたの最初の行は 'bash:2016-08-23:command not found'エラーを生成します。 'DATE = $(date --date =" 2 days ago "'+%F')&& echo" $ DATE "' – anubhava