Lucien Raven ele necessita a passagem de parâmetro por causa desse if, verificando se foi passado um parâmetro.
if [ $# -ne 1 ]; the At, Jamilson Silva --- Em [email protected], Lucien Raven <lucienra...@...> escreveu > > > De maneira rápida... > > ls $arquivo | while read i > do > if [ -d "$arquivo/$i" ]; then > echo -e "$i \033[01;32m(dir)\033[00m" > elif [ -e "$arquivo/$i" ]; then > echo -e "$i \033[01;33m(arquivo)\033[00m" > fi > done > > > Sem especificar o diretório no if, ele não encontra o arquivo/diretório. > > []´s > > > LR :> > > --- Em qui, 23/7/09, jsca...@... <jsca...@...> escreveu: > > > De: jsca...@... <jsca...@...> > > Assunto: [shell-script] Re: Resultado Errado > > Para: [email protected] > > Data: Quinta-feira, 23 de Julho de 2009, 17:39 > > Marcus, > > > > Não querendo ser chato demais. Por favor teste esse script > > na máquina > > e verifique que quando executamos ele no diretorio > > corrente. > > Por exemplo: > > > > Se o script estive no /home/jamilson > > ./verificar.sh . > > ./verificar.sh ~ > > ./verificar.sh /home/jamilson > > > > ele me retorna o resultado esperado como, > > o que é diretório mostra ao lado a palavra (dir) de > > verde > > e já quando é arquivo me mostra o nome do arquivo com a > > palavra (arquivo) de amarelo. > > > > Já quando passamos: > > ./verificar.sh / > > ./verificar.sh /etc > > ./verificar.sh /tmp > > > > não trás o resultado esperado. > > > > > > e muito obrigado por sua atenção. > > > > --- Em [email protected], > > Marcus :D <marcus.jabber@> escreveu > > > > > > Se a passoa passar como parametro o caminho completo > > do diretorio > > > /usr/loca/diretorio por exemplo. Nao funciona? > > > > > > jscarmo@ escreveu: > > > > > > > > > > > > Marcus, > > > > > > > > mesmo eu fazendo assim > > > > > > > > if [ -d "$i" ]; then > > > > echo -e "$i \033[01;32m(dir)\033[00m" > > > > else > > > > echo -e "$i \033[01;33m(arquivo)\033[00m" > > > > fi > > > > > > > > não funciona. > > > > > > > > como você pode vê estou querendo trazer os > > diretórios. quando > > > > encontrado um diretório me mostra o nome do > > diretório (dir) e caso > > > > encontre um arquivo me mostre nome do arquivo > > (arquivo). > > > > > > > > senod que isso funciona somente com o diretório > > onde o script esta > > > > sendo executado. > > > > > > > > --- Em [email protected] > > > > > > <mailto:shell-script%40yahoogrupos.com.br>, > > Marcus :D > > > > <marcus.jabber@> escreveu > > > > > > > > > > A tua segunda estrutura de if está errado. > > > > > Está assim if-elif, está faltando o else. > > > > > > > > > > Abs! > > > > > > > > > > > > > > > > > > > > jscarmo@ escreveu: > > > > > > > > > > > > > > > > > > Caros colegas tem o seguinte script, > > > > > > > > > > > > #1/bin/bash > > > > > > > > > > > > arquivo="$1" > > > > > > > > > > > > if [ $# -ne 1 ]; then > > > > > > echo "" > > > > > > echo "Erro -> uso $0 [nome do > > diretório]" > > > > > > echo "" > > > > > > else > > > > > > ls $arquivo | while read i > > > > > > do > > > > > > if [ -d "$i" ]; then > > > > > > echo -e "$i \033[01;32m(dir)\033[00m" > > > > > > elif [ -e "$i" ]; then > > > > > > echo -e "$i > > \033[01;33m(arquivo)\033[00m" > > > > > > fi > > > > > > done > > > > > > fi > > > > > > > > > > > > o problema é o seguinte: > > > > > > > > > > > > quando passa o nome do diretório > > corrente (o diretório onde o script > > > > > > esta) ele me retorna o resultado > > certo. > > > > > > Mas quando passo outro diretório o > > resultado vem errado. > > > > > > > > > > > > Gostaria de uma ajuda > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------ > > > > --------------------------------------------------------------------- > > 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: [email protected] > > --------------------------------------------------------------------- > > Esta lista é moderada de acordo com o previsto em > > http://www.listas-discussao.cjb.net > > --------------------------------------------------------------------- > > Servidor Newsgroup da lista: news.gmane.org > > Grupo: gmane.org.user-groups.programming.shell.brazil > > > > Links do Yahoo! Grupos > > > > > > > > > > > > ____________________________________________________________________________________ > Veja quais são os assuntos do momento no Yahoo! +Buscados > http://br.maisbuscados.yahoo.com >
