Linux shell 」Press any key to continue 」功能實現

function process_continue()
{
  SAVESTTY=`stty -g`
  stty cbreak
  dd if=/dev/tty bs=1 count=1 > /dev/null 2>&1
  stty -cbreak
  stty $SAVESTTY
}html

echo "Press any key to continue..."ui

process_continuespa

不用敲擊回車輸入字符:.net

function read_chars()
{
  SAVESTTY=`stty -g`
  stty cbreak
  dd if=/dev/tty bs=1 count=3 2>/dev/null -從屏幕輸入多個字符的時候bs爲1,count可爲多個,由於每次鍵入都算一次塊輸入
  stty -cbreak
  stty $SAVESTTY
}unix

DUMP=`read_chars`htm

echo $DUMPblog

關於dd命令:http://blog.chinaunix.net/uid-24958038-id-3416169.htmlget

dd:用指定大小的塊拷貝一個文件,並在拷貝的同時進行指定的轉換。io

示例: dd if=./test1.txt of=./test2.txt bs=4 count=1 2>dev/null  - 從./test1.txt中拷貝1個塊大小爲4byte的內容到./test2.txt中,2>dev/null 是將去掉dd的一些默認輸出。function

關於stty:http://blog.chinaunix.net/uid-2522786-id-223518.html

stty:設置終端屬性

cbreak 同 -icanon 
-cbreak 同 icanon 

-icanon, 設置一次完整的讀操做最小爲N個字符 

相關文章
相關標籤/搜索