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

Linux Questions

1182 readers
3 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 2 weeks ago (1 children)
[–] [email protected] 2 points 2 weeks ago (1 children)

That seems to have done it!

Running the ssh -f... instead of ssh.... & seems to work first time and every time.

It makes it so SSH_PID=$! doesn't work, but I used pgrep -f <ssh command> instead.

Thanks!

[–] [email protected] 1 points 2 weeks ago

You are very welcome! That was the hypothesis, that ssh doesn’t go into background as you want it to, since it works for the second run, but tunnel is there after the first.