Olá.
Desenvolvi o script que segue abaixo para listar os arquivos
executáveis de um diretório e o mesmo está apresentando um erro na
linha 19:
#!/bin/bash
#
# Lista os arquivos executaveis do diretorio atual
#
ls -l > /tmp/$$
qtd=`grep -c '^-..x' /tmp/$$`
if [ $qtd -eq 0 ]
then
echo "Nehum arquivo executavel encontrado neste diretorio."
elif [ $qtd -ge 2 ]
then
echo "Existem $qtd arquivos executaveis neste diretorio."
else
echo "Existe $qtd arquivo executavel neste diretorio."
fi
for i in *
do
if [ -x $i ] && [ ! -d $i ] # Esta eh a linha que apresenta erro
then
ls $i
fi
done
rm /tmp/$$
O estranho é que dentro de determinados diretórios ele executa
perfeitamente, porém em outros ele lista a quantidade de arquivos
executáveis, lista também os arquivos encontrados e apresenta
juntamente o erro "line 19: [: too many arguments". Não consegui
entender o erro e nem porque ele aparece somente em alguns diretórios.
Gostaria de obter ajuda dos amigos no que for possível.
Muito obrigado.
Rodrigo
---------------------------------------------------------------------
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
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Links do Yahoo! Grupos