function maybe_prompt_user() {
if $ASSUME_YES; then
return 0
else
read -p "$1"
if [[ $REPLY =~ ^[Yy]$ ]]; then
return 0
else
return 1
fi
fi
}
這段腳本是什麼意思,沒太看明白,哪位高手指點一下,謝謝!
=~ 表示正則match
^[Yy]$表示match y或者Y, laiconglin的解釋有一點問題
^這個符號表示非得意思 - 這是錯誤的,這個^在這裡表示match開始,而不是非,[^Yy]裡面的^才是非,這裡表示不match像ay,TY這樣的結果。
至於read那句就是用$1的字符提醒用戶要輸入什麼,結果放到變量REPLY.你可以這麼調用maybe_prompt_user
maybe_prompt_user "(Y/y/N/N):"