bash错误在if / else中分配变量

时间:2018-05-09 20:47:48

标签: bash if-statement

我正在尝试编写一个bash脚本,要求用户输入一个帐号,然后对该帐户执行操作。现在,我只是使用打印声明,直到我可以使用它。

当我尝试在if语句中添加变量时,我收到错误。

这是我的脚本(到目前为止):

#!/bin/bash

echo "What AWS Account: "
read accountnumber
echo "You entered $accountnumber"
declare -a arr=("1234556789" "1234567810")    
for i in ${arr[@]}
do   
  if [ $i -eq 1234556789 ]; then
     aws_account = "lab"
     echo "You are currently in account: $aws_account"
     break
  elif [ $i -eq 1234567810 ]; then
     aws_account = "bill"
     echo "You are currently in account: $aws_account"
     break
  else
     echo "Unkown account"
  fi
done

但是当我尝试运行脚本时,我收到此错误。看起来我无法分配变量:

 ./delete_snapshots.sh 
What AWS Account: 
1234556789
You entered 1234556789
./delete_snapshots.sh: line 12: aws_account: command not found
You are currently in account: 

为什么这个bash脚本认为aws_account是一个命令,而不是我想要分配的变量?如何根据用户的输入分配此变量?

另外,如何让用户在问题的同一行输入文字?

而不是:

What AWS Account: 
1234556789

我如何获得:

 What AWS Account: 1234556789

1 个答案:

答案 0 :(得分:0)

在aws_account之后和=符号之后你不能有空格。