As far as I know, if you prefix a bash command with variable assignment the variable will take effect immediately. And it will only have effect within that command.
I tried this command in bash:
V=1 echo $V
However 1 is not printed out in the terminal which is not what I expected. So why it doesn't work?
The variable will be passed in the environment of the command following it, not when the command is being evaluated (expanded). Any variable expansion will be done earlier by shell.
$ V=1 env | grep V=
V=1
To get it working:
$ V=1; echo $V
1
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With