fernandoguialves
(usa CentOS)
Enviado em 19/02/2015 - 13:57h
Pessoal, bom dia.
Estou com erro na linha 168 do meu código "168: Syntax error: Bad for loop variable" porem não consigo entender qual o o problema com meu for.
for ((i=$INICIO; i<=$FIM; i++))
Já rodei na linha de comando normal apenas o "for" e funciona normalmente.
Alguém sabe me dizer o problema?
Linhas do problema em negrito a baixo:
#!/bin/sh
basedir=/u/saci
Principal() {
OPCAO=$( dialog \
--stdout \
--menu 'MENU:' \
0 0 0 \
1 'Inclusao de usuarios' \
2 'Exclusao de usuarios' \
3 'Criar usuarios de expedicao 01/03' \
4 'Excluir usuarios de expedicao 01/03' \
5 'Criar usuarios Nerus' \
6 'Criar usuarios vendas Loja01' \
0 'Sair' ) \
case $OPCAO in
1) Inclusao ;;
2) Exclusao ;;
3) Expedicao ;;
4) ExcluirExp ;;
5) InclusaoNerux ;;
6) Sequencialj1 ;;
0) Sair ;;
esac
}
Inclusao() {
GRUPO=saciuser
USUARIO=$(dialog --stdout --inputbox 'Digite o nome do novo usuario:' 0 0)
if [ $USUARIO = 'cut -d: -f1 /etc/passwd | grep -i $USUARIO' ] ; then
dialog --msgbox 'Usuario ja esta cadastrado no linux' 5 40
Principal
else
chamaSenha
SESSOES=$(dialog --stdout --inputbox 'Informe o maximo de sessoes para esse usuario:' 0 0)
useradd -g $GRUPO -d /home/$USUARIO -s /bin/bash -m $USUARIO
(echo $SENHA ; echo $SENHA) | passwd $USUARIO
cp -f $basedir/shells/bash_profile /home/$USUARIO/.bash_profile
chown $USUARIO.$GRUPO /home/$USUARIO/.bash_profile
chmod 664 /home/$USUARIO/.bash_profile
sed -i 's?MAX=2?MAX='$SESSOES'?g' /home/$USUARIO/.bash_profile
sed -i 's?export SACI_MYSQL_PSWD=""?export SACI_MYSQL_PSWD="'$SENHA'"?g' /home/$USUARIO/.bash_profile
mysql -u userdb -xxxxxx -e "CREATE USER '$USUARIO'@'saci1%' IDENTIFIED BY '$SENHA';"
mysql -u userdb -xxxxxx -e "GRANT ALL PRIVILEGES ON *.* TO '$USUARIO'@'saci1%' IDENTIFIED BY '$SENHA';"
dialog --msgbox 'Usuario adcionado com sucesso' 5 40
fi
Principal
}
Exclusao() {
USUARIO=$(dialog --stdout --inputbox 'Digite o nome do usuario que deseja excluir:' 0 0)
if [ $USUARIO != 'cut -d: -f1 /etc/passwd | grep -i $USUARIO' ] ; then
dialog --yesno "Deseja realmente excluir o usuario $USUARIO" 0 0
if [ $? = 0 ]; then
userdel -r $USUARIO
rm -rf /home/$USUARIO
mysql -u userdb -xxxxxx -e "DROP USER '$USUARIO'@'saci1%';"
dialog --msgbox 'Exclusao realizada com sucesso!' 5 40
else
Principal
fi
else
dialog --msgbox 'Usuario nao existe no sistema' 5 40
Exclusao
fi
Principal
}
Expedicao() {
USUARIO=$(dialog --stdout --inputbox 'Digite o nome do novo usuario:' 0 0)
USUARIO=$USUARIO"0"
for i in $(seq 3);
do
if [ $USUARIO$i = 'cut -d: -f1 /etc/passwd | grep -i $USUARIO$i' ] ; then
dialog --msgbox "O Usuario $USUARIO$i ja \nesta cadastrado no linux" 0 0
Principal
fi
done
chamaSenha
SESSOES=$(dialog --stdout --inputbox 'Informe o maximo de sessoes para esse usuario:' 0 0)
for i in $(seq 3);
do
if [ $i = 1 ]; then
GRUPO=expedicao01
elif [ $i = 2 ]; then
GRUPO=expedicao02
elif [ $i = 3 ]; then
GRUPO=expedicao03
fi
useradd -g $GRUPO -d /home/$USUARIO$i -s /bin/bash -m $USUARIO$i
gpasswd -a $USUARIO$i saciuser
(echo $SENHA ; echo $SENHA) | passwd $USUARIO$i
cp -f $basedir/shells/bash_expedicao /home/$USUARIO$i/.bash_profile
if [ $i = 1 ]; then
cp -f $basedir/shells/menu01.sh /home/$USUARIO$i/menu.sh
elif [ $i = 2 ]; then
cp -f $basedir/shells/menu02.sh /home/$USUARIO$i/menu.sh
elif [ $i = 3 ]; then
cp -f $basedir/shells/menu03.sh /home/$USUARIO$i/menu.sh
fi
chown $USUARIO$i.$GRUPO /home/$USUARIO$i/.bash_profile
chown $USUARIO$i.$GRUPO /home/$USUARIO$i/menu.sh
chmod 664 /home/$USUARIO$i/.bash_profile
chmod 777 /home/$USUARIO$i/menu.sh
sed -i 's?MAX=2?MAX='$SESSOES'?g' /home/$USUARIO$i/.bash_profile
sed -i 's?export SACI_MYSQL_PSWD=""?export SACI_MYSQL_PSWD="'$SENHA'"?g' /home/$USUARIO$i/.bash_profile
mysql -u userdb -xxxxxx -e "CREATE USER '$USUARIO$i'@'saci1%' IDENTIFIED BY '$SENHA';"
mysql -u userdb -xxxxxx -e "GRANT ALL PRIVILEGES ON *.* TO '$USUARIO$i'@'saci1%' IDENTIFIED BY '$SENHA';"
dialog --msgbox "O Usuario $USUARIO$i \nfoi adcionado com sucesso" 0 0
done
Principal
}
InclusaoNerux() {
GRUPO=saciuser
USUARIO=$(dialog --stdout --inputbox 'Digite o nome do novo usuario:' 0 0)
if [ $USUARIO = 'cut -d: -f1 /etc/passwd | grep -i $USUARIO' ] ; then
dialog --msgbox 'Usuario ja esta cadastrado no linux' 5 40
Principal
else
chamaSenha
SESSOES=$(dialog --stdout --inputbox 'Informe o maximo de sessoes para esse usuario:' 0 0)
useradd -g $GRUPO -d /home/$USUARIO -s /bin/bash -m $USUARIO
(echo $SENHA ; echo $SENHA) | passwd $USUARIO
cp -f $basedir/shells/bash_profileNerus /home/$USUARIO/.bash_profile
chown $USUARIO.$GRUPO /home/$USUARIO/.bash_profile
chmod 664 /home/$USUARIO/.bash_profile
sed -i 's?MAX=2?MAX='$SESSOES'?g' /home/$USUARIO/.bash_profile
sed -i 's?export SACI_MYSQL_PSWD=""?export SACI_MYSQL_PSWD="'$SENHA'"?g' /home/$USUARIO/.bash_profile
mysql -u userdb -xxxxxx -e "CREATE USER '$USUARIO'@'saci1%' IDENTIFIED BY '$SENHA';"
mysql -u userdb -xxxxxx -e "GRANT ALL PRIVILEGES ON *.* TO '$USUARIO'@'saci1%' IDENTIFIED BY '$SENHA';"
dialog --msgbox 'Usuario adcionado com sucesso' 5 40
fi
Principal
}
Sequencialj1() {
GRUPO=saciuser
USUARIO=$(dialog --stdout --inputbox 'Digite o nome do novo usuario:' 0 0)
INICIO=$(dialog --stdout --inputbox 'Inicio da sequencia:' 0 0)
FIM=$(dialog --stdout --inputbox 'Fim da sequencia:' 0 0)
USE=$USUARIO"0"
for ((i=$INICIO; i<=$FIM; i++))
do
if [ $USUARIO$i = 'cut -d: -f1 /etc/passwd | grep -i $USUARIO$i' ] ; then
dialog --msgbox "O Usuario \n$USUARIO$i ja esta cadastrado no linux" 0 0
Principal
fi
done
for ((i=$INICIO; i<=$FIM; i++))
do
$SENHA=$USUARIO$i
useradd -g $GRUPO -d /home/$USUARIO$i -s /bin/bash -m $USUARIO$i
(echo $SENHA ; echo $SENHA) | passwd $USUARIO$i
cp -f $basedir/shells/bash_profilelj01 /home/$USUARIO$i/.bash_profile
chown $USUARIO$i.$GRUPO /home/$USUARIO$i/.bash_profile
chown $USUARIO$i.$GRUPO /home/$USUARIO$i/menu.sh
chmod 664 /home/$USUARIO$i/.bash_profile
chmod 777 /home/$USUARIO$i/menu.sh
sed -i 's?export SACI_MYSQL_PSWD=""?export SACI_MYSQL_PSWD="'$SENHA'"?g' /home/$USUARIO$i/.bash_profile
mysql -u userdb -xxxxxx -e "CREATE USER '$USUARIO$i'@'saci1%' IDENTIFIED BY '$SENHA';"
mysql -u userdb -xxxxxx -e "GRANT ALL PRIVILEGES ON *.* TO '$USUARIO$i'@'saci1%' IDENTIFIED BY '$SENHA';"
dialog --msgbox "O Usuario $USUARIO$i \nfoi adcionado com sucesso" 0 0
done
Principal
}
# Teste senha
chamaSenha() {
SENHA=$(dialog --stdout --title 'Senha' --passwordbox 'Por favor, digite a senha:' 0 0)
SENHA2=$(dialog --stdout --title 'Confirmacao' --passwordbox 'Por favor, confirme a senha:' 0 0)
if [ $SENHA != $SENHA2 ] ; then
dialog --msgbox 'Senha incorreta digite novamente' 5 40
chamaSenha
fi
}
# Sai do sistema
Sair() {
dialog --yesno 'Deseja sair do sistema?' 0 0
if [ $? = 0 ]; then
exit
else
Principal
fi
}
Principal