[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

script vs variaveis vs aspas



Galera, montei um script para criar usuarios, ja setando algumas
opçoes de cota e pastas.

o problema é na hora que passo a variavel do nome do cabra para o useradd

ele fala too arguments.

isso pq eu não consigo fazer uma maneira do script colocar as aspas onde quero


Este é o pedaço onde está o bendito useradd:

testa_resp ()
       {
       echo "Criando login para aluno..."
       sleep 1
       echo -n "Informe o login do professor ao qual o aluno sera vinculado: "
       read responsavel
       testa_resp=`cat /etc/group |cut -d ":" -f 1 |grep $responsavel`
       if [ "$responsavel" = "$testa_resp" ];
               then
               /usr/sbin/useradd $username -s /bin/bash -m -d
/home/$responsavel/$username -c "$nome" -g $responsavel
               /bin/mkdir /data/$responsavel/$username
               /bin/chown $username.$responsavel /data/$responsavel/$username
               else
       echo "Professor Invalido"
       sleep 1
       testa_resp
       fi
       }


Já tenteni informar o nome "teste da silva"

ou ler a variavel
"$nome" ;
" ' " $nome " ' " ;
" " $nome " " ;
' " $nome " ' ;

e diversas combinações.

Ou eu recebo erro por excesso de argumentos do useradd ou consigo
colocar o usuário junto com as aspas para dentro do passwd.

Alguem sabe como tenho que fazer para que ele interprete o comando assim:

/usr/sbin/useradd $username -s /bin/bash -m -d
/home/$responsavel/$username -c "$nome" -g $responsavel

/usr/sbin/useradd user_teste -s /bin/bash -m -d
/home/resp_teste/user_teste -c "user teste" -g resp_teste


valeu.



Reply to: