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

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

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

  • Какова цель оболочки uucico на HP-UX, Solaris и, возможно, других Unix-разновидностях?
  • Как создать псевдоним для двух команд Git, которые используют параметр?
  • Как сделать непрерывный wc -l с текстовыми инструментами gnu?
  • Ограничение размера файла превышено в bash
  • создание пользователя add
  • Обход фрагмента nawk, если входной файл пуст
  • Почему мои одиночные кавычки исчезают при подстановке с sed
  • Использовать функцию bash в конвейерной команде
  • 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

    Как сохранить вывод R xtable (data.frame) в документе .tex?

    Не удается выполнить приложение в crontab

    ALSA mix mpd и ввод входного сигнала через эквалайзер

    Создавайте файлы, которые могут редактировать как www-data, так и myuser

    Как удалить карту-каталог и использовать символическую ссылку?

    sudo – олицетворяющий пользователя

    FreeBSD 11.0: подключение через IPv6 потеряно через некоторое время

    Задержка соединения OpenVPN, журналы сервера PUSH: получено управляющее сообщение: «PUSH_REQUEST» несколько раз

    Случайно нарисуйте определенное количество строк из файла данных

    Как я могу прочитать дескриптор «Характеристическое описание пользователя»?

    Прочитайте файлы из каталога и упорядочите их в соответствующих папках

    Сохранение конфигурации iptables на постоянной основе

    Список доступных разделов man-страниц для приложения

    Часто ли выполнять сбор данных для выполнения длительной команды?

    Как просмотреть определенный процесс в верхней части

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