我写了一个脚本来监控一个特定的目录,使用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 &
请给出你的建议
如果你想知道在哪个目录下的文件。$NEWFILE
(给与完整路径)生活,只是发。
directory=$(dirname "$NEWFILE")