我想把重复的行改成小函数,去掉不必要的代码。它可以是dialog
具有相同参数但--msgbox
总是不同的命令的功能。如何以正确的方式组合字符串并执行函数?
这么久它看起来像这样:
function DIALOG_OK() {
local function_name="${FUNCNAME[1]}"
local msg="${1}"
dialog --title "Fist boot detected !" --backtitle "HeadlineHere" ${msg}
}
执行:
DIALOG_OK --msgbox "\nFist boot configuration wizard detected.\nPlease choose OK to continue.\n" 8 40
输出:
Error: Expected at least 3 tokens for --msgbox, have 0.
你有
msg="${1}"
,但$1
只是你的函数调用的第一个DIALOG_OK
参数,就是--msgbox
.使用
"$@"
并且不要放入中间变量,因为您会遇到引号问题:或者
alias
在您的情况下,可能比函数更好: