How do you override a variable in your Bash script from the command line?
I know how to pass variables in, but I just want something like ./myscript.sh -Dvar=val
.
How do you override a variable in your Bash script from the command line?
I know how to pass variables in, but I just want something like ./myscript.sh -Dvar=val
.
You need to use parameter expansion for the variable(s) you want to override:
$ cat override.sh
#!/bin/bash
: ${var1:=foo} # var1 will take on the value "foo" if not overridden
var2=${var2:-foo} # same thing but more typing
echo "var1 is $var1 | var2 is $var2"
$ ./override.sh
var1 is foo | var2 is foo
$ var1=bar var2=baz ./override.sh
var1 is bar | var2 is baz