Como Sufiyan Ghori afirmou, o erro que você está recebendo indica que você está tentando executar algo que você não tem permissão para executar.
Aqui estão algumas coisas para analisar e tentar:
-
Veja qual wget você está usando e verifique as permissões (use o resultado do primeiro comando como argumento para o segundo se o argumento for um caminho)
type wget
ls -l /path/to/wget
você deve obter algo assim:
$ type wget
em/usr/bin/wget
em$ ls -l /usr/bin/wget
em-rwxr-xr-x 1 root root 439944 May 4 17:07 /usr/bin/wget
emSe o último
x
em-rwxr-xr-x
não estiver presente, significa que você não tem permissão para executar esse programa. Veja se há um local diferente com wget no sistema executandolocate bin/wget
; como root runchmod a+x /path/to/wget
. -
Se o comando
type wget
retornar outra coisa, começando por:wget is a function ...
wget is aliased to 'e1(){ return 126;};e1;'
Em seguida, o alias ou função pode ser o problema. use
unalias wget
ouunset wget
para limpá-los ou apenas atualize seu script para usar o caminho completo para wget (which wget
deve fornecer o caminho para o executável wget). -
Se você não tiver permissões para corrigir o problema, poderá substituir um comando curl pelo wget - ele funcionará da mesma forma, os argumentos são apenas diferentes.
-
Uma última coisa para olhar. No terminal, digite o seguinte para obter o bash para retornar informações detalhadas.
set -x
Em seu comando, altere o
-q
para um-S -v -d
para obter informações detalhadas do wget. Execute o comando e revise a saída - pode haver uma pista lá.Use
set +x
para desativar o comando bashing que ecoa
Atualizar
-
Com relação ao seu comentário: É necessário haver um espaço nesse comando:
ls -l /usr/bin/wget
-
O que acontece se você digitar / usr / bin / wget? Além disso, tente digitar curl sem nenhum argumento (ele não fará nada) apenas para ver se ele é executado corretamente.
-
Atualize sua pergunta original com a saída de:
-
ls -l /usr/bin/wget
- executando 'set -x' e, em seguida, executando
wget -S -v -d --http-user="xxxxxx" --http-passwd="xxxxxx" http://cdaac-www.cosmic.ucar.edu/cdaac/rest/tarservice/data/cosmic2015/atmPrf/2015.001 -O cosmic_atmPrf_2015.001.tar
- certificando-se de ofuscar seu nome de usuário / senha, mas caso contrário, mostre a resposta completa. - Tente a mesma coisa com
set -x
ainda em vigor, mas use o seguinte comando que substitui wget por curl. Substitua o nome de usuário e senha pelos nomes corretos - removendo o < > e verifique se você tem o:
entre eles, por exemplo, -u argonauts: argonautspw
curl -v -u <username>:<password> http://cdaac-www.cosmic.ucar.edu/cdaac/rest/tarservice/data/cosmic2015/atmPrf/2015.001 -o cosmic_atmPrf_2015.001.tar
-
segunda atualização:
Qual é a saída de echo $PATH
Funcionou quando você usou / usr / bin / wget?
Digite export PATH="/usr/bin:$PATH"
E, em seguida, verifique se o wget e outros comandos funcionam.