В списке условных выражений BASH я заметил выражение -t
которое проверяет, является ли файловый дескриптор открытым терминалом. я попробовал следующее:
if [[ -t $(tty) ]]; then
echo open terminal $(tty)
else
echo not open terminal $(tty)
fi;
и получите мой ответ
not open terminal /dev/pts/35
я попробовал то же самое с консоли и получаю
not open terminal /dev/tty1
на странице man -t
описывает аргумент как FD
"дескриптор файла", а не другие условные выражения, которые описывают аргумент как FILE
Может ли кто-нибудь предоставить успешный тест BASH для "файлового дескриптора", который "открыт" и "относится к терминалу"?