Ajuda com prog.Shell [RESOLVIDO]

1. Ajuda com prog.Shell [RESOLVIDO]

Caio Lemos
TartarugaVL

(usa Fedora)

Enviado em 23/05/2011 - 16:18h

Pessoal não estou conseguindo criar esse menu abaixo. Alguém poderia me ajudar. Eu utilizei case para fazer, so que da erro direto.


Opções para usuário:

(1) criar três subdiretórios (av1, av2 e av3) no seu diretório home.
(2) criar três arquivos (nota1, nota2 e nota3) em av1, av2 e av3 respectivamente.
(3) ler as notas (teclado) e armazenar em nota1, nota2 e nota3.
(4) mostrar a arvore de diretórios e os conteúdos dos arquivos nota1, nota2 e
nota3.
(5) finalizar o menu.

- pausa

- continuando o seu script, utilizando comandos de repetição (for) crie 5 arquivos: a1, a2, a3, a4 e a5 no seu diretório home e ao final liste este diretório corrente (home) contendo esses arquivos.

-pausa

- salve todo o conteúdo do seu diretório home em um arquivo de nome arq.tar, utilizando o comando tar.
Com o mesmo comando tar mostre o resultado dessa operação.

-pausa

- entrou um funcionário novo você deve ler o nome desse funcionário e criar uma conta para ele.

-pausa

- você também deve colocar esse script para ser executado todo o domingo às 14:00hs.




  


2. Re: Ajuda com prog.Shell [RESOLVIDO]

Eriton Almeida
eritonalmeida

(usa Debian)

Enviado em 23/05/2011 - 17:27h

bastante coisa heim. vc sabe fazer o menu pelo menos? eu posso te ajudar, se eu fazer tudo vc não aprende.


3. Re: Ajuda com prog.Shell [RESOLVIDO]

Jônatas Ramiro Goulat
Jonatas_rg

(usa Fedora)

Enviado em 24/05/2011 - 08:42h

É só a parte do menu que tu quer? Se for, da uma olhada no comando "case" dentro de um "while". Algo mais ou menos assim

SAIR=0

while [ sair -eq 1 ]
do
echo menu
read OPCAO
case in OPCAO in
"1") echo "1" ;;
"2") echo "2" ;;
esac
done


4. Menu

Adriano Rodrigues Balani
balani

(usa Slackware)

Enviado em 24/05/2011 - 08:49h

dá uma olhada em aurelio.net, lá tem alguns exemplos bem legais.


5. Re: Ajuda com prog.Shell [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 24/05/2011 - 08:51h

uma dica pra teu scirpt fica melhor ainda
de uma olhada de como usar o Dialog;
fica legal os menus com dialog


6. Re: Ajuda com prog.Shell [RESOLVIDO]

Caio Lemos
TartarugaVL

(usa Fedora)

Enviado em 24/05/2011 - 09:01h

Criar e apontar esses arquivos, eu teria que usar if ou com mkdir mesmo.


7. Re: Ajuda com prog.Shell [RESOLVIDO]

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 24/05/2011 - 19:21h

você pode usar ou não um loop, com loop fica bem mais elegante

ex.:
for i in 1 2 3; do echo nota$i arq$i; done
mas mkdir ... cria diretório
para arquivo pode usar cat, touch ... até um echo ... blz




8. Re: Ajuda com prog.Shell [RESOLVIDO]

Eriton Almeida
eritonalmeida

(usa Debian)

Enviado em 25/05/2011 - 09:31h

dei uma brincada. falta terminar.

#!/bin/bash
menu ()
{
echo "
(1) criar três subdiretórios (av1, av2 e av3) no seu diretório home.
(2) criar três arquivos (nota1, nota2 e nota3) em av1, av2 e av3 respectivamente.
(3) ler as notas (teclado) e armazenar em nota1, nota2 e nota3.
(4) mostrar a arvore de diretórios e os conteúdos dos arquivos nota1, nota2 e nota3.
(5) finalizar o menu."

read -p "Opcao:" i
}

menu

while [ $i!=5 ];do

case "$i" in
1)
mkdir av1 av2 av3
;;
2)
touch av1/nota1 av2/nota2 av3/nota3
;;
3)
read -p "Digite a nota av1:" nota
echo $nota > av1/nota1
;;
4)

;;
5)
exit
;;
*)
echo "Opção inválida!"
;;

esac

menu
done


9. Re: Ajuda com prog.Shell [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 25/05/2011 - 10:05h

Blz ?
comecei a fazer o script em Dialog e vou fazer em zenity ou yad
de uma olhada tem que melhorar somente

#!/bin/bash

while : ; do
reposta=$(
dialog --stdout \
--title ' Menu ' \
--menu 'Escolha um opcao: ' \
0 0 0 \
1 'criar três subdiretórios (av1, av2 e av3) no seu diretório home' \
2 'criar três arquivos (nota1, nota2 e nota3) em av1, av2 e av3 respectivamente' \
3 'ler as notas (teclado) e armazenar em nota1, nota2 e nota3.' \
4 'mostrar a arvore de diretórios e os conteúdos dos arquivos nota1, nota2 e nota3.' \
0 'Sair' \
)
[ $? -ne 0 ] && break

case "$reposta" in

1) dialog --msgbox 'Criando tres Subdiretorios' 6 70
mkdir va1 av2 av3
;;
2) dialog --msgbox 'criando três arquivos (nota1, nota2 e nota3) em av1, av2 e av3 respectivamente' 6 70
touch av1/nota1 av2/nota2 av3/nota3
;;
3)
;;
4)
;;
0) break
;;
esac
done



10. Re: Ajuda com prog.Shell [RESOLVIDO]

Caio Lemos
TartarugaVL

(usa Fedora)

Enviado em 25/05/2011 - 16:26h

Vlw galera estou começando a entender,agora essa opção, ficaria no diretorio etc, ou eu poeria lista-los com o comando cd mesmo?? mostrar a arvore de diretórios e os conteúdos dos arquivos nota1, nota2 e nota3.



11. Re: Ajuda com prog.Shell [RESOLVIDO]

Caio Lemos
TartarugaVL

(usa Fedora)

Enviado em 27/05/2011 - 14:04h

continuando o seu script, utilizando comandos de repetição (for) crie 5 arquivos: a1, a2, a3, a4 e a5 no seu diretório home e ao final liste este diretório corrente (home) contendo esses arquivos.

-pausa

- salve todo o conteúdo do seu diretório home em um arquivo de nome arq.tar, utilizando o comando tar.
Com o mesmo comando tar mostre o resultado dessa operação.

-pausa

- entrou um funcionário novo você deve ler o nome desse funcionário e criar uma conta para ele.

-pausa

- você também deve colocar esse script para ser executado todo o domingo às 14:00hs.

Estou na duvida sobre isso, eu coloco dentro das funções do menu ou fora...


12. Re: Ajuda com prog.Shell [RESOLVIDO]

Fabio Costa de Mesquita
fabiocdm

(usa Ubuntu)

Enviado em 30/05/2012 - 22:30h

Tartaruga,

vc conseguiu resolver esse problema ?!
Estou com esse mesmo problema para resolver e parei tbm na mesma que vc.
Não consigo caminhar a partir da 4º opção