小编mbe*_*ann的帖子

如何获得最后一个月?date +%Y%m -d '1 个月前' 在 3 月 30 日不起作用

我写了一个脚本来删除旧文件。部分脚本如下:

lastmonth=`date +%Y%m -d '1 month ago'`
inputdir0=/var/this/directory/${lastmonth}*

if [ `date +%d` -gt 9 ];
then        
    rm -Rf $inputdir0
fi
Run Code Online (Sandbox Code Playgroud)

有一些目录以日期+%Y%m%d 格式命名。现在是 3 月 29/30/31,脚本删除了本月的所有文件。今天我了解到这是因为没有二月 29/30/31。

我怎样才能解决这个问题?

linux bash date

2
推荐指数
1
解决办法
7117
查看次数

在heredoc中使用shell变量的双引号

我编写了一个bash脚本,并通过read获得了一些用户输入.我想把变量,我通过读取,放在一个文件中cat << EOF >> file.我的问题是每个变量都得到"双重报价".我怎么能阻止这个?

echo "Whats your name?"
read yourname

cat << EOF >> /path/to/file
Your Name is "${yourname}"

EOF
Run Code Online (Sandbox Code Playgroud)

该文件的内容是:

Your Name is "djgudb"
Run Code Online (Sandbox Code Playgroud)

它应该是:

Your Name is djgudb
Run Code Online (Sandbox Code Playgroud)

bash shell heredoc double-quotes

2
推荐指数
1
解决办法
1144
查看次数

标签 统计

bash ×2

date ×1

double-quotes ×1

heredoc ×1

linux ×1

shell ×1