Я хотел бы изменить свои повторяющиеся строки в небольшую функцию и избавиться от ненужного кода. Это может быть fuction с 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
.
Использовать "$@"
и не вставляйте промежуточную переменную, поскольку Вы получите проблемы со своими кавычками:
function DIALOG_OK() {
local function_name="${FUNCNAME[1]}"
dialog --title "Fist boot detected !" --backtitle "HeadlineHere" "$@"
}
или возможно alias
лучше, чем функция в Вашем случае:
alias DIALOG_OK='dialog --title "Fist boot detected !" --backtitle "HeadlineHere"'