Bash
Bash:如何正確接受使用者輸入?
我在網上找不到範例,但我確信我已經看到 shell 編碼器用於
${1:--}
接受使用者輸入。這是一個例子:#!/bin/bash var="${1:--}" echo "$var"
然後,執行它:
$ ./test.sh "this is a test"
我的問題是:如何使用
"${1:--}"
接受使用者輸入不同於"$1"
?
${1:--}
如果沒有參數 1 或參數為空,將擴展為字元串“-”。所以
./test.sh ""
會像命令一樣返回字元串“-”./test.sh
這在許多情況下被認為是一個有用的預設值,其中“-”的參數可以表示stdin
或stdout
。它還確保在未明確設置參數時腳本不會中斷。
在 bash 的參數擴展下,您可以使用變數的預設值,這就是
${1:--}
口渴命令參數的作用,即-
當且僅當$1
未設置或為空時它才分配值。它也適用於任何其他參數,測試這個例子:echo "${var:-X}" # var is not defined so X will be echoed var=Y # lets define var echo "${var:-X}" # var is defined so its value Y will be printed