Запустите скрипт с Bash [дубликат]

У этого вопроса уже есть ответ: Ошибка терминала (где-то где-то?) с .bashrc отключает все псевдонимы и т. д. 1 ответ

У меня есть сценарий из книги 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, и я получил выходные данные [ ! d8]

./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

Но я получил [!d10 ]

: invalid number of lines

Я совершенно новый в программировании сценария bash. Не могли бы вы дать мне какие-нибудь советы? Спасибо

Следующие комментарии ниже:

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

проверено разрешение запущено с sudo
1
задан 22 November 2015 в 14:20

2 ответа

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

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
ответ дан 23 May 2018 в 15:36

запускает ваш скрипт с помощью команды: bash ./scriptname или chmod +x script, а затем: ./scriptname

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

0
ответ дан 23 May 2018 в 15:36

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

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