Erro ao executar o Script [RESOLVIDO]

1. Erro ao executar o Script [RESOLVIDO]

Vinicius Ignacio
viniciusignacio

(usa Outra)

Enviado em 05/10/2016 - 15:57h

Boa Tarde!

Tenho uma proc que renomeia um determinado arquivo, algo extremamente simples.
Se eu dou a permissão chmod a+x, a proc não realiza a comparação dos arquivos dentro de um determinado diretório.

Para fins de teste, fiz o seguinte comando: cp retransmitir.sh retran.sh
- Retransmitir.sh é o que tem a permissão chmod a+x (acusa erro na comparação: "To many arguments")
- retran.sh não tem, logo tenho que usar: sh retran.sh. (Não acusa erro na comparação, funciona perfeitamente, sendo que é a mesma proc)

Eu poderia simplesmente usar a retran (sh retran.sh), mas pra mim seria mais interessante chamar apenas a proc e ela já executar.
Alguma dica?
Agradeço desde já!




  


2. MELHOR RESPOSTA

Fabiano
fpires

(usa Debian)

Enviado em 06/10/2016 - 10:53h

paulo1205 escreveu:

Quem acusa “too many arguments”? A mensagem inteira deve ter uma forma que diz de onde o erro veio. Por exemplo:

$ test 1 2 3 4 5
bash: test: too many arguments


No caso acima, o erro veio do bash, quando você passou argumentos extras para o comando interno test.

$ /usr/bin/test 1 2 3 4 5
/usr/bin/test: extra argument ‘2’


Neste outro exemplo, o erro veio do programa externo test, que reside em /usr/bin.


Complementando a resposta do nosso colega, experimente utilizar o comando
set -x 

no começo do seu script. Isso vai ativar o modo verboso/debug do bash, e ajuda muito a entender onde está o erro.

Outro ponto importante: se seu script é feito em bash, executa-lo como
sh script 
vai executar com um shell diferente e isso pode trazer problemas (o conjunto de comandos do bash e do sh é diferente, o sh tem menos comandos). Ao invés disso, execute como
bash script 


3. Re: Erro ao executar o Script [RESOLVIDO]

thinomar
thinomar

(usa Linux Mint)

Enviado em 05/10/2016 - 16:10h

Tenta dar um chmod 755 ao invés de chmod a+x


4. Re: Erro ao executar o Script

Paulo
paulo1205

(usa Ubuntu)

Enviado em 05/10/2016 - 16:22h

Quem acusa “too many arguments”? A mensagem inteira deve ter uma forma que diz de onde o erro veio. Por exemplo:

$ test 1 2 3 4 5
bash: test: too many arguments


No caso acima, o erro veio do bash, quando você passou argumentos extras para o comando interno test.

$ /usr/bin/test 1 2 3 4 5
/usr/bin/test: extra argument ‘2’


Neste outro exemplo, o erro veio do programa externo test, que reside em /usr/bin.


5. RE: Erro ao executar o Script

Vinicius Ignacio
viniciusignacio

(usa Outra)

Enviado em 05/10/2016 - 16:36h

Ele apresenta o seguinte erro:

./retransmitir.sh: [: too many arguments


Percebi que se eu colocar sh retransmitir.sh, ele funciona perfeitamente.
Mas se eu colocar apenas retransmitir.sh, ele da erro na comparação dos arquivos no diretório




6. Re: Erro ao executar o Script

thinomar
thinomar

(usa Linux Mint)

Enviado em 06/10/2016 - 09:56h

Simples, você deve estar usando o bash como interpretador, mas usando algum comando ou sintaxe específica do sh. Tente alterar a primeira linha de "#!/bin/bash" para "#!/bin/sh"


7. Re: Erro ao executar o Script

Perfil removido
removido

(usa Nenhuma)

Enviado em 06/10/2016 - 10:02h

Você pode executar o script com a opção de depuração.
Tente

#!/bin/bash -x

na primeira linha.

Depois que o erro aparecer você volta a

#!/bin/bash

normalmente.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



8. RE: Erro ao executar o Script

Vinicius Ignacio
viniciusignacio

(usa Outra)

Enviado em 06/10/2016 - 15:58h

Obrigado pela ajuda pessoal.

Mudei para: #!bin/sh e funcionou






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts