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

Linux Questions

1170 readers
24 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 1 year 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 week 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.