Команды Unix для генерации случайного алфавита

Мне нужно написать сценарий для этой программы. выберите случайную букву внутри az . Попросите пользователя угадать письмо, сопоставить его с выбранной буквой. Если они совпадают, отобразите «правильный», иначе введите подсказку, если угаданное письмо находится выше или ниже выбранной буквы. Может ли кто-нибудь продемонстрировать примеры того, как я могу это сделать в оболочке?

3 Solutions collect form web for “Команды Unix для генерации случайного алфавита”

BASH

BASH хорош для этой работы, потому что BASH может легко генерировать алфавит, используя {a..z} и BASH может вводить один символ без необходимости {a..z} ENTER

 $ cat guesschar.bash c=$(echo {a..z} | tr -d ' ') x=${c:$((RANDOM%26+1)):1} while read -n1 -p'guess the char: ' ; do echo if [[ $REPLY < $x ]] ; then echo too low... elif [[ $REPLY > $x ]] ; then echo too high... else break fi done echo $x ... 'hit!' $ bash guesschar.bash guess the char: m too high... guess the char: f too low... guess the char: j too low... guess the char: k k ... hit! 
 rand=$(tr -dc '[:lower:]' </dev/urandom | dd bs=1 count=1 status=none) until [ "$in" = "$rand" ] && echo "correct" ; do in=$(stty raw dd bs=1 count=1 status=none </dev/tty stty sane ) echo done 

Я думаю, что вышеизложенное делает то, что вам нужно.

Если вам нужен переносной способ, вы можете попробовать:

 perl -e 'print ("a".."z")[rand 26]' 
  • Повторение общего номера страницы в скрипте Bash
  • Shell Scripting: Сравнивая что-то с ничем?
  • Удалите определенный файл из каталога, если он единственный
  • В то время как проверка состояния JBoss в цикле вниз или нет,
  • как объявить переменные командной строки в сценариях оболочки?
  • Как написать скрипт, который выполняет определенные команды на терминале?
  • Создание сценария оболочки на рабочем столе и получение запроса?
  • Использовать командную строку для печати нескольких уникальных слов
  • Как быстро добраться до верхней или нижней части очень длинного сценария?
  • Как читать stdout из сценария, запускаемого системой?
  • Почему «-» в «#! / bin / sh - "shebang?
  • Linux и Unix - лучшая ОС в мире.