Почему я получаю весь путь, я хочу только недавно созданное имя каталога вместо всего пути? - PullRequest
0 голосов
/ 23 апреля 2020

Я написал скрипт для мониторинга определенного каталога с помощью inotify. Если какой-либо новый каталог был создан. Я хочу заменить его на только что созданное имя каталога в файле '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 &

Пожалуйста, дайте ваши предложения

1 Ответ

0 голосов
/ 23 апреля 2020

Если вы хотите узнать, в каком каталоге находится файл $NEWFILE (указан с полным путем), просто наберите:

directory=$(dirname "$NEWFILE")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...