나는 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);"
이 부여를 : ${DATE}
가 비어 있음을 의미
ERROR: invalid input syntax for type timestamp: ""
LINE 1: ... table where started >= '' ...
. 작동하도록 수정하려면 어떻게해야합니까?
W를 하이는 당신이'$ (...)'을 섞어서 같은 명령에서 오래된 백 - 틱들을 섞고 있습니까? – anubhava
네,하지만 적어도 이름에 대해서는 알고 있습니다. 첫 번째 예제에서는 빈 문자열이 아닙니다. – mnowotka
첫 줄에서'bash : 2016-08-23 : command not found' 오류가 발생합니다. 다음과 같아야합니다 :'DATE = $ (date --date = "2 days ago" '+ % F') && echo "$ DATE"' – anubhava