在 Bash 内置函数中,扩展 * 可能会导致意外的行为。为了避免这种情况,可以使用双引号将参数括起来,或者使用其他方法来避免扩展。
以下是一些建议:
my_function() {
echo "$*"
}
my_function() {
local args=("$@")
echo "${args[@]}"
}
printf
命令:my_function() {
printf "%s " "$@"
echo
}
set
命令:my_function() {
set -- "$@"
echo "$*"
}
这些方法可以确保在 Bash 内置函数中不会扩展 *,从而避免意外的行为。
领取专属 10元无门槛券
手把手带您无忧上云