Process CSV file and curl request with its contents
#!/bin/bash # Purpose: Read Comma Separated CSV File and cURL using contents INPUT=$1 OLDIFS=$IFS IFS=',' [ ! -f $INPUT ] && { echo "Please provide a CSV file"; exit 99; } while read user_email first_name last_name Level start_issue start_date do # curl request with contents from CSV and write output to file curl -m 10 -X POST --data API_Key=KEY_GOES_HERE --data Email=$user_email --data Program_Data=PROGRAM_DATA_GOES_HERE --data FirstName=$first_name --data LastName=$last_name https://API_ENDPOINT.TLD >> curl_output.json done < $INPUT IFS=$OLDIFS
Run this as, if saved as curl-csv.sh:
$ ./curl-csv.sh curl-csv.csv
If you get the “/bin/bash^M: bad interpreter: No such file or directory” error message you probably created the .sh file in Windows and are running in a Linux shell. Run the following command to rectify.
$ sed -i -e 's/\r$//' curl-csv.shPublished on December 3, 2020