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.
Try to add -f to ssh command
That seems to have done it!
Running the
ssh -f...
instead ofssh.... &
seems to work first time and every time.It makes it so
SSH_PID=$!
doesn’t work, but I usedpgrep -f <ssh command>
instead.Thanks!
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.