In bash, why does
A=1 echo $A
produce a blank line instead of
1
as expected?
Answer:
Bash evaluates $A prior to running A=1
.
Demonstration:
$ export A=1
$ A=2 echo $A
1
One workaround:
$ cat > echoa.sh
#!/bin/bash
echo $A
^D
$ chmod +x echoa.sh
$ A=5 ./echoa.sh
5