Ubuntu в Windows Powershell «Не удается открыть дисплей»

Вместо использованияif-утверждений:

#!/bin/bash

while IFS= read -r -p 'Enter number 1-100: '
do
    case $REPLY in
        -1)
            break
            ;;
        [1-9]|[1-9][0-9]|100)
            sum=$(( sum + REPLY ))
            nums=$(( nums + 1 ))
            ;;
        *)
            printf '%s is not a valid input\n' "$REPLY" >&2
    esac
done

printf '\n'
printf 'Sum of %d numbers is %d\n' "$nums" "$sum"
printf 'Avg of %d numbers is %d\n' "$nums" "$(( sum/nums ))"

При этом используется шаблон [1-9]|[1-9][0-9]|100для сопоставления допустимых входных (чисел 1 -9, 10 -99 и 100 ). Это также позволяет пользователю выйти из цикла, нажав Ctrl+D , что обычно используется для обозначения окончания ввода.

0
06.12.2020, 02:16
1 ответ

Я смог решить эту проблему с помощью приведенного выше комментария. Проблема заключалась в том, что я установил WSL2, но настроил Ubuntu как WSL1. Я смог успешно запустить xeyes (и пройти все соответствующие дымовые тесты ), когда вернулся к WSL1 и добавил

export DISPLAY=:0.0
export LIBGL_ALWAYS_INDIRECT=1
от

до~/bash.rc

0
18.03.2021, 22:45

Теги

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