unable to set variable in case statement bash
13,166
You need to remove the $
sign in the assignments - INSTANCE_SIZE="m1.small"
. With the dollar sign, $INSTANCE_SIZE
gets substituted with its value and no assignment takes place - bash rather tries to execute the command that resulted from the interpolation.
Author by
upbeat.linux
Updated on June 17, 2022Comments
-
upbeat.linux almost 2 years
I'm trying to set a variable based on a bunch of input conditions. Here's a small sample of the code:
#!/bin/bash INSTANCE_SIZE="" case "$1" in "micro") $INSTANCE_SIZE="t1.micro" ;; "small") $INSTANCE_SIZE="m1.small" ;; esac echo $INSTANCE_SIZE
When I run the script with the -ex switch and specify the proper argument:
+ case "$1" in + =m1.small ./provision: line 19: =m1.small: command not found