Вывести результат условия прямо в bash без использования if

Это старый вопрос, но он все еще актуален. Существует пошаговое руководство по настройке и устранению неполадок X11 3D-рендеринга удаленного приложения на локальном оборудовании: Аппаратное ускорение OpenGL через удаленное ssh-соединение x11

Chromium B.S.U. Игра используется в статье в качестве примера. Он работает с 5-8 FPS с программным рендерингом по умолчанию через SSH-соединение, 30 FPS с непрямым аппаратным рендерингом и> 30 FPS с незашифрованным TCP-соединением X11. Обратите внимание, что это работает только для некоторых приложений.

Краткое содержание статьи

Косвенный рендеринг и TCP-соединения отключены в конфигурации сервера X11 по умолчанию. Параметры + iglx и -listen tcp включают их. Также существует переменная LIBGL_ALWAYS_INDIRECT = 1 , которая вызывает непрямой рендеринг на клиенте X11.

5
16.10.2015, 01:50
2 ответа

Поскольку я пока не могу оставлять комментарии (недостаточное количество повторений ), я укажу в новом ответе, что решение mr -spuratic также работает с одинарными скобками, вот так:

[ $# -eq 0 ] && { echo false; } || { echo true; }
1
27.01.2020, 20:33

Вы можете сделать что-то вроде:

bool=(false true)
echo "${bool[$# != 0]}"

(при условии ksh93, bashили zshв эмуляции ksh ).

В любой оболочке POSIX

echo "$(($# != 0))"

будет выводить 1для истинного и 0для ложного.

2
27.01.2020, 20:33

Теги

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