this post was submitted on 08 Dec 2024
13 points (93.3% liked)
Linux Questions
1171 readers
21 users here now
Linux questions Rules (in addition of the Lemmy.zip rules)
- stay on topic
- be nice (no name calling)
- do not post long blocks of text such as logs
- do not delete your posts
- only post questions (no information posts)
Tips for giving and receiving help
- be as clear and specific
- say thank you if a solution works
- verify your solutions before posting them as facts.
Any rule violations will result in disciplinary actions
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
But are they being passed into the script? Normal behavior would be for variables to propagate to subshells but not to scripts/commands, unless you explicitly export them (e.g.
export USERNAME='my_username'
instead of justUSERNAME='my_username'
). Is that what's happening here?Another possibility is that when the script runs, it is run with a different shell, like sh or zsh. Does your script have a #! line at the top, and is it pointing to the same version of
bash
you are running in Terminal?If you run
echo $PATH; which curl
in the script vs directly in your Terminal, do they output the same results? This is a bit of an edge case, but I've been stymied before by having multiple versions of curl installed (e.g. via homebrew and via my distro) and different PATHs in different contexts causing unexpected behavior.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:...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.