用shell實現bat批處理的pause命令-追加改進
阿新 • • 發佈:2019-03-08
height pause continue brush ash cti linux 重定向 ()
我參考了這個文章:用shell實現bat的pause
http://linux-wiki.cn/wiki/zh-hans/%E7%94%A8shell%E5%AE%9E%E7%8E%B0bat%E7%9A%84pause
文中提示:
#! /bin/bash function pause(){ read -n 1 -p "$*" INP if [ $INP != ‘‘ ] ; then echo -ne ‘\b \n‘ fi } #使用時: pause ‘Press any key to continue...‘
仍存有的問題:
- 對空格和Tab支持不好。
- 重定向的問題沒有解決。
我在此基礎上:
- 解決了對空格和Tab,回車鍵的解決
- 將提示挪入到函數體內
仍存有的問題:
- 對方向鍵支持不好。
- 重定向的問題沒有解決。(未發現未解決)
最終代碼:
#! /bin/bash function pause(){ echo ‘Press any key to continue...‘ read -n 1 -p "$*" str_inp if [ -z "$str_inp" ];then str_inp=1 fi #echo "+$str_inp+" if [ $str_inp != ‘‘ ] ; then echo -ne ‘\b \n‘ fi } #使用時:不要用方向鍵 #pause pause
用shell實現bat批處理的pause命令-追加改進