shell编程(三):一次获取当前月份遇到的问题

欧阳方超分享了一篇关于Shell脚本的文章,指出在获取当前月份并希望去掉不足两位时的前导零时遇到的问题。在脚本中使用`date+%_m`会得到带有空格的月份,而通过修改为`date+%-m`则能正确地获取不带空格的月份。文章总结了解决这个问题的方法,并鼓励读者对技术保持兴趣。

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

1、概述

大家好,我是欧阳方超。
之前写的一篇文章——hell编程(二):通过shell获取月份、季度(不足10时不带零),提到当在脚本中想要获取的月份不足两位时如何去掉首位的0,今天操作时发现这里有一个问题。

2、问题描述与解决

在一段脚本中想要把month=当前月写进某一个命令中,
想把一段sqoop导出数据的命令写进脚本中,同时在sqoop命令中需要指定导出分区等于当前月的数据,简言之,这里需要拼出这样一个字符串,month=当前月,比如当前为6月份,则有:

month=6

于是我大致用下面的方式实现的获取当前月份:

#!/bin/bash
cur_month=`date +%_m`
echo month=$cur_month

但是上面的输出结果中,月份的前面似乎一直有一个空格:

month= 6

问题解决
改下脚本,m前的下划线改为中划线:

#!/bin/bash
cur_month=`date +%-m`
echo month=$cur_month

输出与期望值一致了:

month=6

3、总结

以上是在脚本中获取到10月以内的月份时,去掉前面的空格的方法。
我是欧阳方超,把事情做好了自然就有兴趣了,如果你喜欢我的文章,欢迎点赞、转发、评论加关注。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值