有的時候linux指令碼中呼叫的程式,仍然需求使用者輸入命令或資料。例如你在指令碼中要執行oracle的sqlplus,並在sqlplus中執行一些命令。在這種情況下,有以下幾種處理方式:
1、由使用者手工輸入。
2、使用引數檔案並重定向(要執行的命令寫在引數檔案中),如:
sqlplus sys/sys as sysdba <
引數檔案(包括
startup
和quit
命令)3、使用echo並管道處理,如:
echo –e 「startup
//nquit」 | sqlplus sys/sys as sysdba
或 (echo 『startup』;
echo 『quit』) | sqlplus sys/sys as sysdba
後面兩種方式,可以實現自動輸入,在已知要執行的命令情況下可以使用這兩種方式,第3種又比第2種省去乙個引數檔案。
linux指令碼實現自動輸入密碼
使用linux的程式設計師對輸入密碼這個舉動一定不陌生,在linux下對使用者有嚴格的許可權限制,幹很多事情越過了許可權就得輸入密碼,比如使用超級使用者執行命令,又比如ftp ssh連線遠端主機等等,如下圖 那麼問題來了,在指令碼自動化執行的時候需要輸入密碼怎麼辦?比如你的指令碼裡有一條scp語句,...
linux在終端輸入密碼時顯示星號的實現方法
當你在 web 瀏覽器或任何 gui 登入中輸入密碼時,密碼會被標記成星號 或圓點符號 這是內建的安全機制,以防止你附近的使用者看到你的密碼。但是當你在終端輸入密碼來執行任何 sudo 或 su 的管理任務時,你不會在輸入密碼的時候看見星號或者圓點符號。它不會有任何輸入密碼的視覺指示,www.cpp...
Linux終端輸入輸出 termios 函式
termios系列函式 tcgetattr,tcsetattr,tcsendbreak,tcdrain,tcflush,tcflow,cfmakeraw,cfgetospeed,cfgetispeed,cfsetispeed,cfsetospeed,cfsetspeed等,用以獲取 設定終端裝置的屬...