Bash:语法错误:“(”在Ubuntu中出现意外问题

时间:2018-10-06 01:46:26

标签: bash ubuntu

我刚接触Bash的脚本方面。在第2行上收到语法错误。但是,不确定是什么问题。感谢帮助。谢谢!

#!/bin/bash

# Prints userlist, add users to system, add users to wheel group, and sets password.

userlist=(john mary dan jenna gary)
for i in {$userlist[@]}
do 
echo ${userlist[@]}
 sudo useradd ${userlist[@]}
 usermod -aG wheel ${userlist[@]}
 passwd ${userlist[@]}
done 

2 个答案:

答案 0 :(得分:3)

您有错字:

for i in {$userlist[@]}

应为:

for i in ${userlist[@]}

由于userlist是一个数组,因此$userlist扩展到第一个元素john,因此{$userlist[@]}变成了{john[@]},这不是您想要的,大概。

此外,在for循环内,您应该使用$i来引用$userlist数组中的每个元素。

答案 1 :(得分:0)

这个脚本难道不是很容易吗?

for i in john mary dan jenna gary
do 
echo $i
 sudo useradd $i
 usermod -aG wheel $i
 passwd $i
done