Запуск скрипта с помощью Bash [duplicate]

У меня есть скрипт из книги Data Science at Command Line, Jeroen Janssens вот такой

curl -s http://www.gutenberg.org/cache/epub/76/pg76.txt |
 tr '[:upper:]' '[:lower:]' | grep -oE '\w+' | sort |
 uniq -c | sort -nr | head -n 10

и сохранил его как top-world-1. sh

В терминале Ubuntu 15.10 64bit я ввел команду ./top-words-1.sh и получил результат вроде

./top-words-1.sh: line 1: $'\r': command not found
./top-words-1.sh: line 2: $'\r': command not found

Сразу догадался, что это из-за многострочности и удалил '\n' места, чтобы получилось предложение вроде этого

curl -s http://www.gutenberg.org/cache/epub/76/pg76.txt |tr '[:upper:]' '[:lower:]' | grep -oE '\w+' | sort |uniq -c | sort -nr | head -n 10

Но получил

: invalid number of lines

Я совсем новичок в программировании bash скриптов. Не могли бы вы дать мне какие-нибудь советы? Заранее спасибо

Следуя комментариям ниже, я:

  • проверил разрешение

enter image description here

  • добавил #!/bin/bash в начало файла и получил результат bash: ./top-words-1.sh: /bin/bash^M: плохой интерпретатор: No such file or directory
  • run with sudo
-1
задан 22 November 2015 в 13:20

3 ответа

Я использовал dos2unix команда для решения моей проблемы. Благодарите @muru за свой комментарий. Причина объяснена @steeldriver

0
ответ дан 30 September 2019 в 03:20

Это действительно работает на меня. Попробуйте:

cat > script.sh <<EOF
#! /bin/bash
 curl -s http://www.gutenberg.org/cache/epub/76/pg76.txt |tr '[:upper:]' '[:lower:]' | grep -oE '\w+' | sort |uniq -c | sort -nr | head -n 10
EOF
 chmod +x script.sh
 ./script.sh

И это дает мне правильный ответ. Удостоверьтесь, что Вы не добавляете дополнительных (скрытых) символов к файлу. Вы можете также скопировать/вставить команда в оболочку, чтобы удостовериться, что она работает на Вас.

1
ответ дан 30 September 2019 в 03:20

любое выполнение Ваш сценарий с командой: bash ./scriptname, или chmod +x script тогда: ./scriptname

команда, не найденная, вероятно, означает не исполняемый файл.

0
ответ дан 30 September 2019 в 03:20

Другие вопросы по тегам:

Похожие вопросы: