Задаем вопросы bash -y

Искусство написания bash скриптов. Делимся своими наработками
Ответить
Аватара пользователя
ZEN
Администратор
Сообщения: 1349
Зарегистрирован: 27 сен 2012, 18:23
Темы: 206
Откуда: Украина, Одесса
Статус: Не в сети

Задаем вопросы bash -y

Сообщение ZEN » 29 окт 2014, 22:51

Очередная функция, которую нужно дописать в файл ~/.bashrc

Код: Выделить всё

function vote() {
    local YES;
    local NO; 
    test "$#" == "3" || {
        echo "You should set subject and two option for polling";
        return 1;
    }   
    for i in $(seq 1 $(( 1 + $RANDOM % 10 )) );
    do  
        let YES=YES+$(( $RANDOM % 10 ));
        let NO=NO+$(( $RANDOM % 10 ));
    done;
    echo "$1";
    printf "%-15s\t%s\r\n%-15s\t%s\n" "$2" "$YES" "$3" "$NO";
}
И примеры использования команды:
Изображение
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо

Аватара пользователя
ZEN
Администратор
Сообщения: 1349
Зарегистрирован: 27 сен 2012, 18:23
Темы: 206
Откуда: Украина, Одесса
Статус: Не в сети

Re: Задаем вопросы bash -y

Сообщение ZEN » 31 окт 2014, 11:52

Ладно, раз до сих пор вариантов нет, показываю свою реализацию:

Код: Выделить всё

function vote() {
    test "$#" -le "2" && {
        echo "You should set subject and at least two option for polling";
        return 1;
    }

    # Todays subject
    echo "$1";

    # Collect data
    while shift && (($#))
    do
        unset VOTES;
        for i in $(seq 1 $(( 1 + $RANDOM % 10 )) );
        do
            let VOTES=VOTES+$(( $RANDOM % 10 ));
        done;
        printf "%-15s\t%s\n" "$1" "$VOTES";
    done;
}
Теперь можно создавать голосования на более, чем два варианта:

Изображение
бог создал труд и обезьяну
чтоб получился человек
а вот пингвина он не трогал
тот сразу вышел хорошо

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость