1.场景
我需要传入多个参数,在执行任务时传入的任务参数用逗号隔开,到shell中都被$1
当做字符串接收到了,没办法,只能在shell中截取字符串,截成多个参数。
2.编辑入参
点击“任务管理”->“操作”->“编辑”->“任务参数”:afp,date +%Y%m,zhangsan
3.编辑shell脚本
点击“任务管理”->“操作”->“GLUE IDE”
#!/bin/bash
echo "xxl-job: hello shell"
echo "脚本位置:$0"
echo "任务参数:$1"
echo "分片序号:$2"
echo "分片总数:$3"
#关键代码---开始
PARAMS_STR=$1
OLD_IFS=$IFS
IFS=','
read -ra params <<< "$PARAMS_STR"
IFS=$OLD_IFS
PARAM1=${params[0]}
PARAM2=${params[1]}
PARAM3=${params[2]}
INDEX_NAME=${PARAM1}`${PARAM2}`
#INDEX_NAME的最终值为:afp_202402
echo "index_name is $INDEX_NAME"
#关键代码---结束
echo "Good Bye!"
exit 0
标签:shell,IFS,echo,---,job,参数,GLUE
From: https://www.cnblogs.com/hujunwei/p/18024518