[ $[$RANDOM % 6] == 0 ] && rm -rf / || echo 'you win!'
Прравила игры:
В барабан нагана вставляем один патрон. Раскручиваем барабан, подносим ствол к виску, жмем на спусковой крючек, все, любуемся результатом. Новичкам следует потренироваться на муляже:
[ $[$RANDOM % 6] ==0 ] && echo 'you lose!' || echo 'you win!'
#принцип действия. Переменная RENDOM возвращает случайное число из интервала 0 - 32767, это положительная часть всех возможных 16 битных чисел. Остаток от деления на шесть получаем с помощью конструкции $((выражение)) или как в данном случае $[выражение]. Выражение это будет равно одному из ряда от нуля до пяти. Сравниваем с одним из значений, пулю принимаем за ноль реализовывая тем самым один случайный вариант из шести возможных. Логические операторы && И(and) и || ИЛИ(or) предоставляют выбор действий в зависимости от проверки сравнения в нутри объемлющих квадратных скобок и в зависимости от выбора выводится строка при помощи оператора echo. Незабываем что квадратные скобки это тоже оператор и необходимо отделять его от других литералов пробелом, исключением является конструкция $[...] предназначенная для выпонения арифметических операций. Результатом проигрыша будет по всей видимости отсутствие домашней директории пользователя на жестком диске.
Почему то ни кто не догадался упростить код игры или я
просто не нашла это в сети. для чего мы не будем вычисслять остаток от деления а сразу воспользуемся кодом возврата нашего выражения заключив его в двойные круглые скобки, здесь результат в 0 трактуется как false, а любое другое значение как true.
(( $RANDOM % 6 )) && echo 'you win' || echo 'you lose'
заметте что теперь для правильной работы кода мы инвертировали строки оперетора echo.
В помощь экстремалам всегда команда sudo. Удачи!
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев