Se a passoa passar como parametro o caminho completo do diretorio /usr/loca/diretorio por exemplo. Nao funciona?
[email protected] 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.jab...@...> escreveu > > > > A tua segunda estrutura de if está errado. > > Está assim if-elif, está faltando o else. > > > > Abs! > > > > > > > > jsca...@... 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 > > > > > > > > > >
