Ввод текста из сценария оболочки

Я новичок в сценариях оболочки. Я хотел бы знать, есть ли команда, похожая на «эхо» для отображения текста в терминале, но вместо того, чтобы просто отображать ее сразу, она фактически набирает ее, например, если кто-то на самом деле печатает на терминале?

Я также был бы признателен, если бы кто-нибудь мог указать мне на страницы, объясняющие простые сценарии, такие как меню и т. Д.

  • Напишите в FIFO только в том случае, если он существует
  • grep переменная в выражении if
  • Переименовать файл, динамически содержащий пробелы
  • вернуть первый экземпляр символов из списка
  • Добавление ведущих символов перед строкой с использованием printf или echo
  • Скопировать папки сразу
  • Как измерить скорость чтения / записи раздела или диска?
  • Ожидание / dev / sda1, чтобы стать доступным, с таймаутом, в сценарии оболочки
  • 2 Solutions collect form web for “Ввод текста из сценария оболочки”

    Вот чистое решение bash :

    string='foo bar base' for ((i=0; i<=${#string}; i++)); do printf '%s' "${string:$i:1}" sleep 0.$(( (RANDOM % 5) + 1 )) done 
    • ${#variable} – длина строки
    • printf может заменить echo для вывода строки и формата вывода:
    • %s сообщает printf чтобы отобразить строку без новой строки \n
    • ${string:$i:1} – это bash [расширение параметра] 1, чтобы отображать только конкретную букву из строки
    • $(( )) является некоторой арифметикой bash
    • $(( ( RANDOM % 5 ) + 1 )) отображает целое число: от 1 до 5 СЛУЧАЙНО

    бонус

    Это функция для использования с аргументом:

     matrix(){ tput setaf 2 &>/dev/null # green powaaa for ((i=0; i<=${#1}; i++)); do printf '%s' "${1:$i:1}" sleep 0.$(( (RANDOM % 5) + 1 )) done tput sgr0 2 &>/dev/null } matrix 'foo bar base' 

    Я назвал это писателем типа:

     count=0 echo "enter your name" read b sleep 2 a="hello" a=`echo $a" "$b" nice to meet you"` while [ $count -lt $((${#a}+1)) ] do x=`expr substr "$a" $count 1` if [ "$x" != " " ] then echo -n $x sleep 0.2 else echo -n " " fi count=$(($count+1)) done echo " " 
    Interesting Posts

    Как настроить режим vi в режиме ZSH для сохранения состояния между командами?

    Как сопоставить другой столбец в файле 1 и file2 с awk?

    Почему просмотр gif на Twitter меняет объем моего музыкального проигрывателя? (Firefox / PulseAudio)

    Ошибка при распаковке файла

    Bash: Как перенести курсор влево на слово?

    Можно ли разрешить символ «\» в записи PTR?

    Есть ли способ закрыть сфокусированное окно при езде на велосипеде в xfce4?

    В tcsh как я могу добавить «cd» к выходу канала?

    Как восстановить контейнер LVM для большего физического раздела?

    Какие ситуации существуют, когда переменные Bash не должны быть двойными кавычками?

    Как преобразовать старый компьютер в терминал регистрации и презентации данных?

    Как закрепить только файлы в нескольких подкаталогах?

    Как создать виртуальную машину с существующего сервера PreRelease FreeBSD 8.2?

    Сетевой интерфейс ПК BSD Warden

    Форматирование внешнего диска в CentOS, ранее использовавшегося в OS X

    Linux и Unix - лучшая ОС в мире.