shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] test


From: Tia
Subject: Re: [shell-script] test
Date: Fri, 2 Dec 2005 10:29:11 -0200
User-agent: KMail/1.8.1

Opa barsaabc 

blz?

Então, vc está errando em colocar o $ antes da variável no read.
Veja:
~$ cat teste
#!/bin/bash
echo "Digite o arquivo"
read arq
if [ -d "$arq" ]
then
echo "É um Diretório!"
else
echo "É um arquivo!"
fi

a variável $1 representa o primeiro parametro passado para o programa,
por isso não rola criar algo como read 1, pois ele não entende isso..
Mas, vc poderia mudar deixando assim:

~$ cat teste
#!/bin/bash

if [ $# = 0 ]
then
echo "Use $0 nome_arquivo/diretorio"
exit 1
else
if [ -d "$1" ]
then
echo "É um Diretório!"
else
echo "É um arquivo!"
fi
fi
~$ ./teste meus_scripts
É um Diretório!
~$ ./teste merda.txt
É um arquivo!

Não entendi muito bem porque vc usou uma / na frente do nome do arquivo
no test, pois, ele vai pegar a raiz da maquina + o nome do arquivo..

Bem, espero ter ajudado.

[]'s

Tia




Em Sex 02 Dez 2005 09:33, barsaabc escreveu:
Eu estou tentando fazer um script, que ele perguta o nome do arquivo,
digitando o nome ele diz se e um arquivo ou diretório: isto é um
exercício do Aurelio, mesmo digitando um arquivo ele dá a resposta que
um diretório. 

#!/bin/bash
echo "Digite o arquivo"
read $1
if test -d "/$1"
then
        echo "É um Diretório!"
else
        echo "É um arquivo!"
fi

na linha de comando digitando:

prompt$ if test -d "/etc"
then
echo "é um diretório"
else
echo "é um arquivo"
fi
é um diretório

resposta correta

prompt$ if test -d "/passwd"
then
echo "é um diretório"
else
echo "é um arquivo"
fi
é um arquivo
reposta correta

entenderão no script não funciona, onde esta o erro.
desculpem mais sou novo no negócio.





---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
 
Links do Yahoo! Grupos




 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]