Problemas de Iniciante !!! [RESOLVIDO]

1. Problemas de Iniciante !!! [RESOLVIDO]

Morfeu
orfics

(usa Ubuntu)

Enviado em 22/01/2010 - 13:04h

Oi pessoal. Sei +- fazer programas em c e quero aprender a usar shell-script. To com alguns problemas aqui : 1°) quero rodar uma funcao q recebe 1 parametro, mas ela nao executa (se coloco no fim executa apenas o inicio do script mas nao ela. Se coloco no inicio do script, nada acontece). 2°) tenho 1 string ex: /home/usuario/arquivo.txt . gostaria de saber como buscar 1 nome em especifico dentro dessa linha ( deve retornar apenas o q perguntar) ou separar diretorio do arquivo (como: diretorio= /home/usuario e arquivo= arquivo.txt . So pra fazer os testes se tudo funciona direito, fiz isso:
#!/bin/bash
zenity --file-selection --file-filter="Arquivo de texto | *.txt" > /tmp/instj.tmp
if [ $? != 0 ]; then
exit 0
fi
pos=50
progresso
arq=`cat /tmp/instj.tmp`
if [ -f "$arq" ]; then
pos=90
progresso
zenity --info --text="$arq"
else
zenity --error --text="O arquivo não foi selecionado com sucesso"
fi
rm -r /tmp/instj.tmp
function pregresso {
( echo $pos ; sleep 5 ) | zenity --progress --text="Instalando..." --auto-close }
ps: como uso tags aqui pra inserir meus codigos ou outra coisa??


  


2. Re: Problemas de Iniciante !!! [RESOLVIDO]

Lael Lacerda
lael

(usa Fedora)

Enviado em 22/01/2010 - 16:23h

http://laellacerda.blogspot.com/#uds-search-results


3. Re: Problemas de Iniciante !!! [RESOLVIDO]

Morfeu
Orfics

(usa Ubuntu)

Enviado em 22/01/2010 - 17:44h

cara pq vc colocou esse link nada a ver com o meu problema??? auto-promoção??? :0


4. Re: Problemas de Iniciante !!! [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 23/01/2010 - 10:16h

Vamos organizar o seu script:

- A função fica sempre em primeiro lugar, pois pro script rodar a função, ele já deve t lido (questão d lógica);
- As variáveis (apesar d não ser obrigatório) ficam sempre no começo do seu script (pode ser depois da função);
- Existem muitas falhas ae...
- Vou colocar como deveria ficar:

#########################################################
#!/bin/bash
progresso() {
( echo $pos ; sleep 5 ) | zenity --progress --text="Instalando..." --auto-close
}
pos=50
arq=`cat /tmp/instj.tmp`
zenity --file-selection --file-filter="Arquivo de texto | *.txt" > /tmp/instj.tmp
if [ $? != 0 ]; then
exit 0;
fi
progresso
if [ -f "$arq" ]; then
pos=90; progresso; zenity --info --text="$arq";
else
zenity --error --text="O arquivo não foi selecionado com sucesso";
fi
rm -rf /tmp/instj.tmp
####################################################################

Para vc pegar um termo dentro do arquivo (primeira linha), vc deve fazer o seguinte:

head -n 1 nomedoarquivo.txt > /caminho/do/novo/arquivo/teste.txt


5. Re: Problemas de Iniciante !!! [RESOLVIDO]

Morfeu
orfics

(usa Ubuntu)

Enviado em 23/01/2010 - 13:08h

Então Renato, eu fiz isso (colocar a funcao no inicio) mas retorna esse erro : line 19: erro de sintaxe: fim de arquivo inesperado. Entretanto o arquivo so tem 18 linhas. Agradeço pela ajuda.


6. Re: Problemas de Iniciante !!! [RESOLVIDO]

7. Re: Problemas de Iniciante !!! [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 24/01/2010 - 14:20h

Q bom q vc conseguiu! Qq coisa tamo ae...


8. Re: Problemas de Iniciante !!! [RESOLVIDO]

Morfeu
orfics

(usa Ubuntu)

Enviado em 26/01/2010 - 23:25h

Renato, o metodo q usei foi semelhante ao seu. Vc mostrou como faz do modo certo, eu q nao percebi. Não vi q o caracter } tem q ficar na proxima linha e nao no fim da mesma; por isso q dava erro. Muito obrigado.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts