用shell實現bat批處理的pause命令-追加改進


我參考了這個文章:用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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM