我有一个 bash 脚本,我想在每次启动时使用日期创建一个包含日期和增量编号的目录
DATE=$(date +"%d%m%Y")
我希望输出为 300514-1,然后在重启后为 300514-2 等等,但文件需要存储到创建的目录中,即
SAVEDIR=/home/files/$DATE-*
最佳答案
您可以使用以下脚本:
#!/bin/bash
date=$(date +"%d%m%Y")
n=1
# Increment $N as long as a directory with that name exists
while [[ -d "/home/files/${date}-${n}" ]] ; do
n=$(($n+1))
done
mkdir "/home/files/${date}-${n}"
请注意,该脚本在竞争条件下并不安全,这意味着您不能在许多并发进程同时调用该脚本的环境中使用它。
关于linux - 在 bash 中递增目录名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23961562/