Ajudem script executando argumentos [RESOLVIDO]

1. Ajudem script executando argumentos [RESOLVIDO]

Ramos
wenderisrock

(usa Debian)

Enviado em 09/06/2011 - 05:15h

Por favor me ajudem a criar um script usando case e funções no qual ao executar aceita tres argumentos (-c,-d ou -e). < nome-script> -c -d -e As opções deve funcionar da seguinte maneira
-c: limpa a tela
-d mostra a lista de arquivos no diretório atual-e <nome -editor> inicia o editor <nome-editor>
O script devera mostrar na tela um texto de ajuda caso o usuario erre ou nao passe nenhum argumento

POR FAVOrrr Serei Eterno agradecido...


  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/06/2011 - 16:23h

#!/bin/bash

case $1 in
'-c') clear
exit 0
;;
'-d') ls
exit 0
;;
'-e')
eval $1 >>/dev/null
exit $?
;;
*) echo "Opcao invalida!"
exit 1
;;
esac

A melhor forma para min seria colocar a opção -e dentro de uma função e dentro o case com os editores.

#!/bin/bash


function _getEditor(){
case $1
'vi') vi;;
'mcedit' ) mcedit;;
'nano' ) nano;;
*) echo "O editor $1 não existe ou não esta disponivel";;
esac
}

case $1 in
'-c') clear
exit 0
;;
'-d') ls
exit 0
;;
'-e')
_getEditor $2
;;
*) echo "Opcao invalida!"
exit 1
;;
esac


3. Re: Ajudem script executando argumentos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/06/2011 - 08:37h

#!/bin/bash

case $1 in
"-c") clear
exit 1
;;
"-d") ls
exit 1
;;
"-e") EDITOR=$OPTARG
;;
*) echo "Opcao invalida!"
exit 1
;;
esac
if [ "$EDITOR" ]; then $EDITOR



Bom eu não tive tempo de testar, mas montei rapidinho use sua lógica.
flwss
espero ter ajudado


4. Quase isso

Ramos
wenderisrock

(usa Debian)

Enviado em 09/06/2011 - 11:33h

Olá amigo quando executo esse script da a mensagem de comando invalido...
agradeço pela atenção
E continuo querendo ajuda...

quem souber ajuda plis

abraços


5. Re: Ajudem script executando argumentos [RESOLVIDO]

Marcos Paulo Ferreira
daemonio

(usa Slackware)

Enviado em 09/06/2011 - 14:55h

Na parte do -e você terá que dar um shift e confiar que o próximo parâmetro é o nome do editor.

Aproveitando o código do luiz:

#!/bin/bash

case $1 in
"-c") clear
exit 1
;;
"-d") ls
exit 1
;;
"-e")
shift
EDITOR=$1
;;
*) echo "Opcao invalida!"
exit 1
;;
esac
if [ "$EDITOR" ]; then $EDITOR; fi

Teste aí.

t+


6. Re: Ajudem script executando argumentos [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/06/2011 - 19:55h

O exemplo da função do ronin, realmente em questões de segurança é o mais apropriado,

imagina só : script.sh -e passwd root

Não importa o comando ele vai executar, e dependendo das permissões pode ser muito perigoso.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts