Variables in bash
If you want to understand a programming language, start with its variables. I’m learning Bash, so let’s see how Bash variables work.
Bash variables have names, like
They’re made of ASCII letters, digits, and
_ (and the first char must not be a digit).
(Except, possibly, for some “special” variables, like
1, the first argument.)
To assign to a variable, we write assignment statements like:
a=3 # variable `a` gets the value "3" b1= # variable `b1` gets the value "" FOO= 45 # variable `FOO` gets the value " 45" echo = baz # not an assignment! Instead, calls `echo` with two arguments
Notice that they’re all assigned strings,
and that whitespace around the
= is significant.
All bash variables are strings.
Yes, bash can treat these variables as integers sometimes,
but in “storage”, they are strings.
Bash variables are dynamically scoped. To illustrate:
More by Jim
- Your syntax highlighter is wrong
- Granddad died today
- The Three Ts of Time, Thought and Typing: measuring cost on the web
- I hate telephones
- The sorry state of OpenSSL usability
- The dots do matter: how to scam a Gmail user
- My parents are Flat-Earthers
- How Hacker News stays interesting
- Project C-43: the lost origins of asymmetric crypto
- The hacker hype cycle
- The inception bar: a new phishing method
- Time is running out to catch COVID-19
- A probabilistic pub quiz for nerds
- Smear phishing: a new Android vulnerability
Tagged . All content copyright James Fisher 2017. This post is not associated with my employer. Found an error? Edit this page.