#!/bin/bash
user=wxlfrank
group="wxlfrank : wxlfrank sudo"
pattern="$user :*sudo*"
if [[ $group != "${user} :*sudo*" ]] ; then
usermod -aG sudo $user
echo "add user $user" 'into group sudo'
fi
任何人都可以帮忙解释为什么第五行扩展到
[[ wxlfrank : wxlfrank sudo != \w\x\l\f\r\a\n\k\ \:\*\s\u\d\o\* ]]
答案 0 :(得分:0)
摆脱引号:
if [[ $group != ${user}\ :*sudo* ]] ; then
带引号的,模式被视为文字字符串。
请注意,[[
是bash
内置版(与[
(test
)不同),bash
在内部处理任何扩展。因此,在扩展中不会进行单词拆分(以及在使用==
/ =
/ !=
时除了路径名扩展)。