Как Вы делаете операторы выбора с диапазонами

Проверьте bcache, который интегрируется в ядро магистрали от 3,10, но который должен также работать с более старыми ядрами с небольшим количеством усилия - необходимо будет скомпилировать собственное, с помощью обеспеченных патчей. (Это не столь страшно, как это звучит!)

Существует также минимальное сравнение dm-кэша и bcache здесь.

5
22.11.2014, 00:02
2 ответа

Я бы сделал это, оно должно отвечать требованиям.

#!/bin/bash

echo -n "What is your test score? "
read score 

case $score in 
    100) echo "A" ;;
    9[0-9]) echo "A" ;; 
    8[0-9]) echo "B" ;;
    7[0-9]) echo "C" ;;
    6[0-9]) echo "D" ;;
    *) echo "F" ;;
esac

Изначально я использовал 9[0-9]|100), но думаю, что это нарушает правило об условных условиях.

Оно вернет F, если вы попытаетесь ввести 101 или любое другое значение "вне диапазона". Я сделал это в предположении, что этого никогда не случится.

2
27.01.2020, 20:41

Это также будет работать-

echo -n "What is your test score? (in percentage): "
read per 

case $per in 
([9][0-9]|100) echo "A" ;; 
([8][0-9]) echo "B" ;;
([7][0-9]) echo "C" ;;
([6][0-9]) echo "D" ;;
[0-9]|[1-5][0-9]|59) echo "F" ;;
*) echo "Please enter another number" 
read percentage;;
esac
1
27.01.2020, 20:41

Теги

Похожие вопросы