problemas com logica [RESOLVIDO]

1. problemas com logica [RESOLVIDO]

Douglas Giorgio Fim
douglas.giorgio

(usa Fedora)

Enviado em 12/11/2009 - 21:53h

nao sei se eh logica ou oq

mas queria saber como faz para o script aceitar algumas opções

ex:

# sh redimencionar-foto.sh 800x600

algo parecido com isso, como faz para o script reconhecer o 800x600

outro ex:

esse script que o stremer criou

http://www.vivaolinux.com.br/topico/Shell-Script/quase-impossivel/

ele funciona assim

$ sh teste.sh 2

ai ele vai fazer todas as combinaçoes no maximo 2 letras

$ sh teste.sh 4

combinações com 4

como faz isso??

um bom exemplo eh os progras que usamos dia a dia

ex:

$ ls -l
$ ls -a
$ ls -la

como ele reconhece o -la ?? ele sabe que tem o "l + a" e executa os dois juntos


  


2. MELHOR RESPOSTA

Takahashi
signout

(usa Slackware)

Enviado em 13/11/2009 - 01:11h

Boas...

São considerados parametros, basicamente se voce criar um script chamado nome.sh, com o conteúdo abaixo:

#!/bin/bash
echo "Ola,"$1

E executa-lo desta maneira:

./nome.sh fulano

O resultado será: Ola, fulano

Ou seja, tudo que vem depois do nome do script é parametro, que o próprio script reconhece.
O melhor é voce procurar por artigos sobre shell script, seja aqui no VOL ou no google:

http://www.vivaolinux.com.br/artigo/Introducao-ao-uso-de-Shell-Script/
http://www.devin.com.br/shell_script/

De uma lida nestes artigos, muitas duvidas podem ser sanadas.

Espero que ajude.
[]s



3. Re: problemas com logica [RESOLVIDO]

Marcos Paulo Ferreira
Daemonio

(usa Slackware)

Enviado em 12/11/2009 - 22:33h

Bem, pra validar o 800x600, vc tem que especificar quais sao os valores
minimos e maximos para cada numero.
Se o assunto é regexp, você pode tratar de modo geral com um:

grep '[0-9]\+x[0-9]\+' para validar o parâmetro.

ou quebre o 800x600 como '800' e '600' e valide os números obtidos.

Em relação as combinações: Não entendi o que você realmente quer, se for pra mostrar todas as combinações de 4 letras use:

echo {A..Z}{A..Z}{A..Z}{A..Z} (nao aconselho fazer isso => 27^4)

O cara usou função recursiva então não sei se o resultado obtido é o mesmo..

Para n combinações:
for I in `seq 1 $n`; do CMD="$CDM{A..Z}"; done
eval echo $CMD

No ls -la, quem reconhece o -la como l+a é uma função em C (getopt_long). Se você quiser tratar isso em seus scripts, vc pode usar a getopts!

Acho que é isso!
Abraços


4. Re: problemas com logica [RESOLVIDO]

Douglas Giorgio Fim
douglas.giorgio

(usa Fedora)

Enviado em 12/11/2009 - 23:05h

entao

axo que eu nao expliquei direito

quis diser outra coisa

vamo supor que eu crio um script que quando eu executo

$ sh teste.sh hello # execução do script
hello # resultado do script

ou seja

como ficaria o codigo??

-----------------------
#!/bin/bash

a=

echo "$a"
--------------------

como faço para definir o valor da variavel?


5. resolvido

Douglas Giorgio Fim
douglas.giorgio

(usa Fedora)

Enviado em 13/11/2009 - 09:09h

xD

funcionou legal aki xD

vlw msm






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts