为什么我得到的是整个路径,而不是整个路径,我只想要最近创建的目录名?

问题描述 投票:0回答:1

我写了一个脚本来监控一个特定的目录,使用inotify。如果有新的目录被创建,我想在'z.sh'中用新创建的目录名来代替。我想在'z.sh'文件中用新创建的目录名替换它。但是我在使用下面的脚本时得到的是整个路径而不是目录名。

#!/bin/sh
MONITORDIR1="/var/lib/clickhouse/data/"
monitor() {
inotifywait -m -r -q  $MONITORDIR1 | while read NEWFILE
do
echo "NEW FOLDER CREATED"
cp /home/boctrainee/clickhousescriptold.sql /home/boctrainee/clickhousescript.sql
echo "${NEWFILE#*/*/*/*/*/}"
sed -i -e "s+NEWFILE#*/*/*/*/*/+$NEWTENANTNAME+g" /home/boctrainee/clickhousescript.sql
done
}
monitor $MONITORDIR1 &

请给出你的建议

linux bash shell scripting
1个回答
0
投票

如果你想知道在哪个目录下的文件。$NEWFILE (给与完整路径)生活,只是发。

directory=$(dirname "$NEWFILE")
© www.soinside.com 2019 - 2024. All rights reserved.