Проблема в том, что вы будете проверять состояние выхода pv
. С синтаксисом POSIX sh
можно сделать:
cd /app && ((make 3>&- && exec sudo nginx -g 'daemon off;' >&3 3>&-) | pv -qL 100) 3>&1
или с помощью ksh
/bash
/zsh
:
(set -o pipefail
cd /app && make | pv -qL 100 && sudo nginx -g 'daemon off;')
Или с помощью zsh
:
cd /app && make | pv -qL 100 && ((!pipestatus[1])) && sudo nginx -g 'daemon off;'
Или с помощью bash
:
cd /app && make | pv -qL 100 && ((!PIPESTATUS[0])) && sudo nginx -g 'daemon off;'
Функциональные клавиши могут интерпретироваться оконным менеджером или эмулятором терминала (вы обнаружите, что F11, например, обычно максимизирует окно) или передаваться в программу как переходные последовательности VTxxx или ANSI.
F9 в Linux и Solaris обычно отправляет ESC [ 2 0 ~ . В зависимости от версий программного обеспечения, bash
или ksh
будут интерпретировать это как 0 ~
или ~
. С другой стороны, если оболочка является прочерком, который не выполняет редактирование строк, вы увидите ^ [[20 ~
.
Чтобы сделать F9 отправить ~
:
Если вы используете X (протестирован на американской раскладке клавиатуры):
xmodmap -e "keycode 75 = asciitilde"
На консоли Linux, запустите showkey
, чтобы найти код клавиши F9. В моей системе 67.
Затем выполните следующую команду (возможно, вам потребуется root):
echo "keycode 67 = asciitilde" | loadkeys
На консоли Solaris 10 запустите showkeys | more
, чтобы найти запись таблицы клавиш F9. На моей виртуальной машине с виртуальной USB-клавиатурой это клавиша 66 all tf (9)
. Затем создайте файл со следующим содержимым:
key 66 all ~
и запустите loadkeys/path/to/file
.
Из вашего описания кажется, что проблема не в сервере LDAP, поскольку другие серверы и машины смогли пройти проверку подлинности без проблем.
Мои мысли состояли в том, чтобы посмотреть на /etc/pam.d/common-auth
и /etc/pam.d/common-account
, чтобы OpenSuSE считывался из этих файлов для аутентификации.