Измените свой сценарий так:
#!/bin/bash
export PATH="/usr/games:$PATH"
fortune | cowsay
«fortune» и «cowsay» считаются играми ubuntu, и они не находятся в системном пути по умолчанию.
что-то вдоль линий
echo -n "prompt" #'-n' means do not add \n to end of string
read # No arg means dump next line of input
read -p "Press any key to continue or CTRL-C to abort" работает отлично под 14.04 в моих сценариях. Как указано в комментарии LLekensteyn в комментарии выше, похоже, что это имело место с 12.04.4. На странице «help read»:
-p prompt output the string PROMPT without a trailing newline before
attempting to read
Мое любимое использование этого - установить тайм-аут по умолчанию, так что скрипт также может запускаться без присмотра:
echo "Press any key to continue..."
read -n1 -t5 any_key
где:
-n1 сообщает, что чтение принять какой-либо один символ -t5 говорит ему ждать максимум 5 секунд для вводаЯ работаю почти исключительно с Bash под CentOS, поэтому я не могу поручиться за это, работая над другими вариантами Linux, но поскольку это Баш, я бы ожидал, что он сработает. Мне бы хотелось знать наверняка, если это так! :
)Символы ждут, чтобы остановить сценарий, чтобы вызвать kill -STOP $$ из сценария: после паузы скрипт продолжит работу после приема сигнала -CONT.
#!/bin/bash
echo "$0 stopping now"
kill -STOP $$
echo "$0 continues its work"
echo "press enter to continue"
read unusedVariable
echo "running these 3 lines in .sh file, this echo will never be seen, unless you have a really slow computer"
поместите эти 3 строки в файл .sh и запустите его