I’ve got this command in a bash script:
TEST=$(curl -o /dev/null -s -k -w "%{http_code}" -u "${USERNAME}:${PASSWORD}" "${URL}/dashboard/")
echo "${TEST}" #debug
When the script runs, the output is “000”.
When I run the same curl command from the shell, the output is “200” (which is correct, since the URL is valid).
I verified that the USERNAME, PASSWORD, and URL vars are being passed to the subshell.
I’d appreciate it if you could point out what I’m doing wrong here. :)
UPDATE: This has been solved.
Thanks for the suggestions.
The script is pulling the values of USERNAME and PASSWORD from a .env. I added debug
echo $USERNAME $PASSWORD
in the script and it shows the correct values, so the script is pulling the values correctly and storing them in the vars correctly. I also added that echo to the subshell command, like:TEST=$(echo $USERNAME) echo $TEST
…and the result was the correct USERNAME.
The script does begin with
#!/bin/bash
.echo $PATH; which curl
produces identical results when run from the shell and the script.