Tôi đang tìm cách viết một tập lệnh bash nhỏ, khi được khởi chạy, xem một thư mục cho bất kỳ tệp mới được tạo nào. Nếu một tập tin mới xuất hiện, tôi muốn sự hiện diện của nó để kích hoạt một tập lệnh thứ hai để chạy.Thực hiện một tập lệnh bash khi tạo tập tin
Tôi thấy điều này đang được sử dụng để kích hoạt nén video được số hóa gần đây và thêm video đó vào nhật ký cảnh quay đã nhập.
Hiện nay mã của tôi trông như thế này:
#!/bin/sh
##VIDSTAT is a global variable coming from a parent script.
##proj is the ingestion directory coming from a parent script
proj=$1
dir="/home/$USER/data/movies/$proj"
dirlist=$(ls $dir)
while { $VIDSTAT -eq 1 }:
do
for mov in $dirlist
do
if [ "$(($(date +"%s") - $(stat -c "%Y" $mov)))" -lt "5" ]
then
~/bin/compressNlog.sh $mov
fi
done
done
Có một dễ dàng hơn/sạch hơn/ít bộ nhớ cách chuyên sâu để làm điều này?
EDIT Tôi sẽ thay đổi thư mục nhập mỗi phiên chụp. Tôi đã điều chỉnh mã phù hợp
Hãy cẩn thận. Kịch bản có thể chạy trước khi ứng dụng hoàn thành việc ghi tệp, và nó sẽ nén một tệp không đầy đủ. – Barmar