Итак, что вы получаете в меню загрузки? Только GNU/Linux? Как вы его настраиваете? Если это какая-то автоматическая программа установки, то, наверное, проблема в программе установки.
Вы всегда можете настроить GRUB
вручную, добавив запись для Windows - это должно быть просто взять одну из конфигураций двойной загрузки и изменить то, что нужно изменить. В этом примере он уже написан для двух разных дисков, хотя он для arch и Windows (но в любом случае вам просто нужно добавить запись для Windows). Я полагаю, что Ubuntu теперь использует GRUB 2
, поэтому другой пример, из Gentoo Wiki, чтобы показать, как это можно сделать.
Процесс unix может читать из /dev/tty и, таким образом, обходить перенаправление.
Он может вызывать функцию isatty
unistd.
NAME
isatty - test whether a file descriptor refers to a terminal
SYNOPSIS
#include <unistd.h>
int isatty(int fd);
DESCRIPTION
The isatty() function tests whether fd is an open file descriptor
referring to a terminal.
Вероятно, как заметил @Gerard H. Pille, mysql вообще не проверяет, а просто использует /dev/tty
, когда вы вызываете его с -p
.
Я проверил в исходниках glibc реализацию isatty .
Он просто использует функцию tcgetattr
для получения терминальных возможностей файлового дескриптора. Если функция возвращает true, то это терминал.
Он используетgetpass()
из библиотеки libc (, где она доступна ), которая описана в справочных страницах следующим образом:
The getpass() function opens /dev/tty (the controlling terminal of the process), outputs the string prompt, turns off echoing, reads one line (the "password"), restores the terminal state and closes /dev/tty again.