this post was submitted on 08 Dec 2024
13 points (93.3% liked)

Linux Questions

1192 readers
2 users here now

Linux questions Rules (in addition of the Lemmy.zip rules)

Tips for giving and receiving help

Any rule violations will result in disciplinary actions

founded 2 years ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 1 month ago

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.