首页 > 解决方案 > 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 

标签: bashubuntu

解决方案


你有一个错字:

for i in {$userlist[@]}

应该:

for i in ${userlist[@]}

因为userlist是一个数组,$userlist扩展为第一个元素,john所以{$userlist[@]}变成{john[@]}了这不是你想要的,大概。

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


推荐阅读