我想在 SUSE Enterprise Linux 上创建一个脚本,它首先要求输入一个字符串(代表日期),然后搜索某个目录中文件名中包含该字符串的所有文件。如果输入为空,则应使用今天的日期。
我现在有这个:
read -p "Send files from date (MM-DD-YYYY) : " fromdate
if [[ -z ${fromdate// } ]]
then
echo "Empty input"
fromdate=$(date +%m-%d-%Y)
fi
echo "Input: $fromdate"
cd /path/to/directory
while IFS= read -r -d '' file ; do
echo "$file"
done < <(find . -maxdepth 1 -name "*$fromdate*" -print0)
当我输入日期时,它工作正常,对于空输入,我收到错误:
fromdate: command not found
输入仍然为空,并且显示所有文件。我的错误可能是什么?我应该使用“let”命令吗?
答案1
这对我有用(但在 CentOS 7.1 上)。我错过了什么?
read -p "Send files from date (MM-DD-YYYY) : " fromdate
if [[ -z ${fromdate// } ]]
then
echo "Empty input"
fromdate=$(date +%m-%d-%Y)
fi
echo "Input: $fromdate"
find /path/to/directory -maxdepth 1 -name "*$fromdate*"