gpt4 book ai didi

linux - 将多个参数传递给 bash

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:48 26 4
gpt4 key购买 nike

我有一个脚本可以根据您输入的参数启动某些节点

case "$1" in
start)
if [ "$2" == "puppet" ]; then
set_puppet_variables
check_ES_reqs
start
elif [ "$2" == "puppet1" ]; then
set_puppet1_variables
check_ES_reqs
start
elif [ "$2" == "master" ]; then
set_master_variables
check_ES_reqs
start
fi
if [ "$2" == "" ]; then
set_puppet_variables
check_ES_reqs
start
set_master_variables
check_ES_reqs
start
fi

我希望能够启动多个特定节点,例如,当我输入命令 service ES start puppet puppet1 时,它将仅启动这两个节点。

有没有办法在我的逻辑中格式化$2 以接受$3$4,具体取决于我添加的节点数?因为会有更多。就像将 $2 变成 $2* 以接受第二个参数和任何其他参数,这样我就可以启动多个特定节点。

请帮忙

谢谢

最佳答案

$1 移出参数列表,然后循环剩余的参数。

case "$1" in
start)
shift
while [ $# -ne 0 ]
do
case "$1" in
puppet)
... ;;
puppet1)
... ;;
master)
... ;;
"")
... ;;
esac
shift
done ;;

关于linux - 将多个参数传递给 bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54189776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com