3
我嘗試使用讀取命令來捕獲用戶輸入的內容。bash讀取命令
read -p "Please enter your name -> " -n 20 name
但我發現我們不能糾正我們輸入的內容。我怎樣才能讓「BackSpace」刪除而不是添加?
我嘗試使用讀取命令來捕獲用戶輸入的內容。bash讀取命令
read -p "Please enter your name -> " -n 20 name
但我發現我們不能糾正我們輸入的內容。我怎樣才能讓「BackSpace」刪除而不是添加?
最簡單的方法是使用-e
標誌來讀取,這將使它使用readline。
read -e -p "Please enter your name -> " -n 20 name
您還可以更改您的終端設置(stty),以便退格鍵而不是刪除鍵被刪除。
可以通過管道通過col -b
用戶(或任何其他文本)輸入的文字,比如:
name=`echo $name|col -b`
這比使用read
命令的選項-e
更加便攜,因爲-e
不支持在所有Unix系統上,例如AIX(我認爲它是一個GNU/Linux擴展)。