1
我一直覺得命令行實用mysql
是有點令人驚訝,因爲你可以這樣做:程序如何在輸入重定向之後讀取控制檯輸入?
gzcat dumpfile.sql.gz | mysql -u <user> -p <options>
和mysql
會提示你輸入密碼。現在,stdin
在mysql
重定向 - 一個希望它來讀取轉儲文件的密碼。相反,它以某種方式繞過stdin
並直奔終端。 ssh
做同樣的事情。我懷疑這是某種/dev/tty
或/dev/pty
魔法,但我很感謝這個明顯的魔術:)(以及爲什麼這些程序可以在任何平臺上,甚至是Windows上都可以做到這一點)的適當解釋。
雖然Windows沒有這個,不是嗎? – nneonneo
@nneonneo:不,它沒有。這是* nix功能。在Windows API提供了不同的機制(內見[http://msdn.microsoft.com/en-us/library/windows/desktop/ms682073.aspx](http://msdn.microsoft.com/en-us /library/windows/desktop/ms682073.aspx))。它並不像有一個運行在兩種類型的系統上的「mysql」程序; mysql的* nix版本使用* nix功能,Windows版本使用Windows功能。 – ruakh