[英]Syntax error at beginning of command when running script
我正在嘗試使用./insert_data.sh 運行腳本; 我收到一條錯誤消息,說“。”處或附近有語法錯誤。 我在 PSQL 工作,謝謝
編輯#1:我的腳本:
#!/bin/bash
# Script to insert data from courses.csv and students.csv into students database
PSQL="psql -X --username=freecodecamp --dbname=students --no-align --tuples-only -c"
cat courses_test.csv | while IFS="," read MAJOR COURSE
do
# get major_id
MAJOR_ID=$($PSQL "SELECT major_id FROM majors WHERE major='$MAJOR'")
# if not found
if [[ -z $MAJOR_ID ]]
then
# insert major
INSERT_MAJOR_RESULT=$($PSQL "INSERT INTO majors(major) VALUES('$MAJOR')")
echo $INSERT_MAJOR_RESULT
# get new major_id
fi
# get course_id
# if not found
# insert course
# get new course_id
# insert into majors_courses
done
編輯#2:我用來運行腳本的命令:./insert_data.sh; 我收到的錯誤:
students=> ./insert_data.sh;
ERROR: syntax error at or near "."
LINE 1: ./insert_data.sh;
^
由於缺乏數據,我們無法 1:1 復制您的案例。 但是您始終可以使用帶有-x 標志的 bash 調試來查看它實際卡在的位置:
test@test:/tmp$ bash -x ./test.sh
+ PSQL='psql -X --username=freecodecamp --dbname=students --no-align --tuples-only -c'
+ cat courses_test.csv
+ IFS=,
+ read MAJOR COURSE
++ psql -X --username=freecodecamp --dbname=students --no-align --tuples-only -c 'SELECT major_id FROM majors WHERE major='\''"Sex"'\'''
psql: error: could not connect to server: No such file or directory
解決了問題-我不得不退出 PSQL 終端並在“項目”目錄中輸入命令
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.