Hamacker, Resolvi seguir seu conselho, alterei o script conforme sua indicacao. Funcionou perfeitamente. O estranho dessa macro-substituicao eh que em outro scripts funciona legal. Nao tenho problemas com as teclas CTRL+C, pois utilizo: # Desabilita Ctrl-c trap "" 1 2 3 15
Quanto a sintaxe do sudoers, depois que coloquei a linha "spdter ALL=NOPASSWD:/usr/bin/poweroff,/sbin/shutdown" o comando "gksu nautilus" desixou de funcionar, porem o meu usuario já consegue desligar o servidor. Obrigado por todas as informacoes. Wilson Bom hamacker escreveu: > Não tem erro na primeira situação, é assim mesmo a sintaxe do sudoers. > A unica diferença que noto no seu uso é que no meu caso eu uso sempre > um comando por linha e no seu caso voce esta separando por virgulas. > > No segundo caso, não sei informar, nunca fiz uma macro-substituição > dessa forma : > while read -s -n1 entrada && [ "${entrada/[[:ctrl:]]/}" ] > > Mas execute a substiuição no terminal, se lá funcionar, no seu script > também funcionará. > O google é seu amigo, há varias páginas de exemplos do bash exibindo > como trabalhar substituições. > > Mas para não ter problemas porque não alterar o script, eu faço minhas > entradas de senha assim : > > stty -echo # desligando o echo momentaneamente para entrada da senha > echo "Digite a senha : (caracteres nao serao visualizados)" > echo "(se voce der CTRL+C neste ponto terá que digitar reset no > prompt para ligar o echo novamente)" > read password > stty echo # religando o echo > > Será pouco provavel que voce tenha problemas novamente. > > Em 23/08/07, Wilson Bento Picaz Bom<[EMAIL PROTECTED]> escreveu: > >> Ola PessoALL, >> >> Estou convertendo meus Scripts-Shell do conectiva 10 Para Ubuntu 7.04. >> >> 01 - Script-shell com permissao do usuario desligar o sistema: >> >> if [ "$opc" = "59" ] ; then >> echo -e $c31 "Informe a senha para Desligar o Sistema: \c " >> senha="" >> while read -s -n1 entrada && [ "${entrada/[[:ctrl:]]/}" ] >> do echo -n \* && senha="$senha$entrada"; >> done; >> if [ "$senha" != "oxer567" ] ; then >> echo -e $c01 "\n Senha errada, Você não tem permissao para Desligar >> o Sistema" >> sleep 2 >> continue >> fi >> sudo poweroff >> fi >> >> No Conectiva, para isso funcionar, sem pedir a senha do root eu >> coloquei no /etc/sudoers o seguinte: >> spdter ALL=NOPASSWD:/usr/bin/poweroff,/sbin/shutdown >> >> Porem, esta mesma configuracao nao funcionou no Ubuntu. >> >> Quero dar permissao para o usuario desligar o servidor atraves deste >> scripts. >> >> >> 02 - Nao consegui encontrar o problema da seguinte linha: >> >> while read -s -n1 entrada && [ "${entrada/[[:ctrl:]]/}" ] ########( >> Esta eh a linha 188 ) >> do echo -n \* && senha="$senha$entrada"; >> done; >> >> Erro que ocorre: >> .sistemas: 188: syntax error: Bad substitution >> >> Estes dois problemas, estao me impedindo de passar todos os meus sistemas >> do conectiva 10 para ubuntu. >> >> Se alguem puder ajudar, ou ate mesmo testar o scripts acima, fico grato. >> >> Wilson Bom >> >> -- >> --------------------------------------------------------------------------------------------- >> Serprodata Informática Ltda | Mandriva PowerPack+ 2006 - Kernel 2.6.12 >> Av. Marcelino Pires, 1405 | Dataflex 3.2 Linux - Dataflex 3.2 MS-DOS >> 79800-004 - Dourados - MS | Linux counter: 292553 - ICQ: 173201561 >> [EMAIL PROTECTED] | [EMAIL PROTECTED] - [EMAIL PROTECTED] >> --------------------------------------------------------------------------------------------- >> >> >> >> _______________________________________________________ >> Yahoo! Mail - Sempre a melhor opção para você! >> Experimente já e veja as novidades. >> http://br.yahoo.com/mailbeta/tudonovo/ >> >> >> >> >> -- >> Interessado em aprender mais sobre o Ubuntu em português? >> http://wiki.ubuntu-br.org/ComeceAqui - >> ubuntu-br mailing list >> ubuntu-br@lists.ubuntu.com >> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br >> >> > > -- --------------------------------------------------------------------------------------------- Serprodata Informática Ltda | Mandriva PowerPack+ 2006 - Kernel 2.6.12 Av. Marcelino Pires, 1405 | Dataflex 3.2 Linux - Dataflex 3.2 MS-DOS 79800-004 - Dourados - MS | Linux counter: 292553 - ICQ: 173201561 [EMAIL PROTECTED] | [EMAIL PROTECTED] - [EMAIL PROTECTED] --------------------------------------------------------------------------------------------- _______________________________________________________ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/ -- Interessado em aprender mais sobre o Ubuntu em português? http://wiki.ubuntu-br.org/ComeceAqui - ubuntu-br mailing list ubuntu-br@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-br