Единственная вещь, о которой я могу думать, прямо сорвана из страницы руководства, раздела PROGRESS METER
:
If you prefer a progress "bar" instead of the regular meter, -# is your friend.
Пример:
delicious:~ ajanssen$ curl -# http://www.heise.de > bla
######################################################################## 100,0%
По сравнению с:
delicious:~ ajanssen$ curl http://www.heise.de > bla
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 98k 0 98k 0 0 164k 0 --:--:-- --:--:-- --:--:-- 169k
Обычно это происходит, когда строка shebang ( #!
) в вашем скрипте не работает.
Шебанг - это то, что сообщает ядру, что файл должен быть выполнен с использованием интерпретатора. При запуске без sudo
сообщение становится более значимым. Но с sudo
вы получите то же сообщение.
Например:
$ cat test.sh
#!/bin/foo
echo bar
$ ./test.sh
bash: ./test.sh: /bin/foo: bad interpreter: No such file or directory
$ bash test.sh
bar
$ sudo ./test.sh
sudo: unable to execute ./test.sh: No such file or directory
$ sudo bash ./test.sh
bar
Сообщение плохой интерпретатор
ясно указывает на то, что это шебанг неисправен.
У меня возникла именно эта проблема, она оказалась проблемой кодировки текстового файла. Чтобы исправить это при запуске Xubuntu 14.04.3 LTS, я установил dos2unix и преобразовал кодировку скрипта, а затем снова запустил скрипт с помощью sudo, и он работал нормально. Вы можете найти пример ниже:
sudo apt-get install dos2unix -y
dos2unix test.sh
sudo chmod u+x test.sh && sudo ./test.sh