encadeie os ifs, veja as opções aqui:
http://aurelio.net/shell/canivete.html#test
if condição
elif condição # o famoso 'else if'
else
fi
Em 02/12/05, Edson <[EMAIL PROTECTED]> escreveu:
>
> Certinho agora foi, como eu disse tó começando mexer com shell agora, Tó
> uma semana apanhando disso,
Certinho agora foi, como eu disse tó começando mexer com shell agora, Tó
uma semana apanhando disso, por isso que recori a lista.
e como eu faço, para quando eu digitar um arquivo, e este arquivo não
existir, ele respoder: Este arquivo não existe.
Tia escreveu:
> Opa barsaabc
>
> blz?
>
> Então
Ola
Veja bem, vc esta lendo na variavel $1. Esta variavel eh reservada para os
parametros que vc passa para um script ou função. vc não pode usar o `read
$1`. use algo assim
read -p "digite algo" algo
essa variavel que vc vai fazer o teste. agora olhe como vc faz o teste?
test -d "/$1"
se vc
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
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
ech