Як заявив Суфіян Горі, помилка, яку ви отримуєте, вказує на те, що ви намагаєтесь виконати те, на що у вас немає дозволів на виконання.
Ось декілька речей, які варто подивитися та спробувати:
Подивіться, який wget ви використовуєте, і перевірте дозволи (використовуйте результат від першої команди як аргумент до другого, якщо аргумент є шляхом)
type wget
ls -l /path/to/wget
ви повинні отримати щось подібне:
$ type wget
/usr/bin/wget
$ ls -l /usr/bin/wget
-rwxr-xr-x 1 root root 439944 May 4 17:07 /usr/bin/wget
Якщо останнього xв -rwxr-xr-xнемає, це означає, що ви не маєте дозволу на запуск цієї програми. Перевірте, чи є в системі інше місце розташування з wget locate bin/wget; як root run chmod a+x /path/to/wget.
Якщо type wgetкоманда повертає щось інше, починаючи з:
wget is a function ...
wget is aliased to 'e1(){ return 126;};e1;'
Тоді псевдонім або функція можуть бути проблемою. використовувати unalias wgetабо unset wgetочистити їх, або просто оновити свій скрипт, щоб використовувати повний шлях до wget ( which wgetповинен дати вам шлях до виконуваного файлу wget).
Якщо у вас немає дозволів на виправлення проблеми, ви можете замінити команду curl для wget - вона буде функціонувати однаково, аргументи просто різні.
Останнє, на що слід звернути увагу. На терміналі введіть наступне, щоб отримати баш для повторної інформації багатослівної.
set -x
У вашій команді змініть -qна а, -S -v -dщоб отримати детальну інформацію від wget. Запустіть команду і перегляньте результат - там може бути підказка.
Використовуйте set +xдля вимкнення лунаючої команди
Оновлення
Щодо Вашого коментаря: У цій команді має бути пробіл:
ls -l /usr/bin/wget
Що станеться, якщо ви введете / usr / bin / wget? Спробуйте також ввести curl без жодних аргументів (він нічого не зробить), щоб побачити, чи правильно він виконується.
Оновіть своє початкове запитання результатом:
ls -l /usr/bin/wget
- запустіть 'set -x', потім запустіть,
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
переконуючись у тому, що оскаржують своє ім’я користувача / пароль, але в іншому випадку покажіть повну відповідь.
- Потім спробуйте те саме, що
set -x
все ще діє, але скористайтеся наступною командою, яка замінює wget на curl. Замініть ім'я користувача та пароль правильними - видаліть <> і переконайтеся, що :між ними є, наприклад, -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
2-е оновлення:
Який вихід echo $PATH
Чи спрацювало це, коли ви використовували / usr / bin / wget?
Введіть export PATH="/usr/bin:$PATH"
А потім перевірте, чи працюють wget та інші команди.
126виникає, коли є проблема дозволу або команда не виконується.