shell编写

本文介绍了一个使用Shell脚本进行环境变量处理和配置文件生成的例子。通过条件判断来设置和转换变量,并根据这些变量创建Kafka消费者和生产者的配置文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#判断环境变量BLACK_LIST的字符串长度是否为0
#设置shell变量BLACK_LIST的值为环境变量BLACK_LIST的值
if [ -n "$BLACK_LIST" ]; then 
    BLACK_LIST="--blacklist $BLACK_LIST"
fi
#判断环境变量PRODUCER_COUNT的字符串长度是否不为0
#设置shell变量PRODUCER_COUNT的值为环境变量DEFAULT_PRODUCERS的值
if [ -z "$PRODUCER_COUNT" ]; then
    PRODUCER_COUNT=$DEFAULT_PRODUCERS
fi

if [ -n "$SOURCE" ];then
    #截取环境变量SOURCE_DEST从第一个字符开始的连续四个字符
    #SOURCE_BROKERS=`expr substr "$SOURCE_DEST" 1 4`
    #将环境变量SOURCE的值有小写字母转化成大写字母
    SOURCE=`echo $SOURCE | tr a-z A-Z`
    #将以shell变量的值为名字的变量的值赋给shell变量SOURCE_BROKERS
    SOURCE_BROKERS=`eval echo "$"$SOURCE`
    echo "source $SOURCE_BROKERS"
else
    echo "Specify SOURCE"
    exit 1


if [ -n "$DEST" ];then
#字符串连接        CONSUMER_GROUP_ID=${DEST}"_mirror_"${MARATHON_APP_ID}
    echo "consumer_group_id $CONSUMER_GROUP_ID"

    #DEST_BROKERS=`expr substr "$SOURCE_DEST" 6 4`
    DEST=`echo $DEST | tr a-z A-Z`
    DEST_BROKERS=`eval echo "$"$DEST`
    echo "dest $DEST_BROKERS"
else
    echo "Specify DEST"
    exit 2
fi

#按照如下内容生成../config/consumer.config的配置文件
cat <<- EOF > ../config/consumer.config
    bootstrap.servers=$SOURCE_BROKERS
    group.id=$CONSUMER_GROUP_ID
EOF


cat <<- EOF > ../config/producer.config
    bootstrap.servers=$DEST_BROKERS
    compression.codes=none
    producer.type=async
    serializer.class=kafka.serializer.DefaultEncoder
EOF

参考链接
linux shell 的here document 用法 (cat << EOF)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值