0
我正在編寫一個shell腳本,用於從AWS S3獲取數據(.csv文件),將其下載到EC2 Linux AMI實例上,然後將數據複製到RDS PostGresql數據庫。ShellScript的PSQL COPY
我的shell代碼如下:
FILE="$(ls DB)"
PARAMETERFORDB= "'\\COPY table(x,y) FROM ''$FILE'' CSV HEADER'"
$(psql --host=XXXXX --port=XXXXX --username=XXXXX --password --dbname=XXXXX -c ${PARAMETERFORDB})
所以,當從S3的數據下載,我存儲文件的文件變量中的名字(這是該文件夾中唯一的文件,文件夾在數據庫查詢之後被刪除)。
我獲得以下錯誤信息:
./shellTest.sh: line 21: '\COPY table(x,y) FROM ''14.9.2016.csv'' CSV HEADER': command not found
psql: option requires an argument -- 'c'
Try "psql --help" for more information.
我在做什麼錯?
謝謝!現在我得到一個「psql:選項需要一個參數 - 'c'」錯誤...我在傳遞PARAMETERFORDB時做錯了什麼? –
通過編寫--c = $ PARAMETERFORDB修復它!但是,數據庫不更新....雖然命令本身,分開進入終端,工程... –
修改答案。與數據庫問題相比,這更像是一個shell腳本問題。 –