Terminal
read -s 通過腳本給出錯誤
我正在嘗試從使用者那裡讀取密碼,我使用了
-s
靜默標誌,但read -s
不能從腳本中工作,但如果我從終端手動執行,它就可以工作。錯誤詳情
project.sh: 3: read: Illegal option -s you entered
程式碼
maddy@ElementalX:~/Desktop$ cat project.sh #!/usr/bin/sh read -s -p "Enter Password: " pswd echo "you entered $pswd" maddy@ElementalX:~/Desktop$
-s
內置實用程序的read
選項不是標準選項,不太可能在sh
. 同樣,-p
提供自定義提示的選項不太可能由通用sh
.
bash
相反,執行您的腳本,它read
確實支持-s
從終端讀取而不回顯輸入的字元(以及-p
)。最簡單的方法是將#!
-line 更改為指向bash
系統上的執行檔。在非
bash
shell 中,您可能會得到類似的效果printf 'Enter password: ' >&2 stty -echo read password stty echo