Se você quiser usar a saída padrão de um determinado comando, poderá usar substituição de comando e envolva-o dentro de um $(…)
.
Podemos verificar se a saída está de acordo com uma determinada expressão regular com o operador =~
introduzido no Bash 3 e acima. Se a expressão regular corresponder, o teste retornará verdadeiro, para que possamos executar outro comando após &&
. Se não corresponder, o teste retornará false e os comandos após ||
serão executados.
Como queremos verificar se a saída contém a palavra added
, o seguinte é suficiente:
for server in server1.abc.com server2.abc.com
do
[[ "$(command)" =~ added ]] \
&& echo "User ${user} added in ${server}" \
|| echo "User ${user} failed to add in ${server}"
done
Em seu script, você deve alterar USER
para user
, pois $USER
é uma variável de ambiente global com o seu nome de usuário. Tente executar echo $USER
da sua linha de comando para ver o que quero dizer.