কোনও ফাইলকে স্ক্রিন দিয়ে লুকানো যায়?


32

নির্দিষ্ট ফাইল সংশোধন / মোছা না করা (বা একটি নির্দিষ্ট ডিরেক্টরিতে তৈরি করা ফাইল, বা ...) না থাকলে আমি স্ক্রিপ্টটি ঘুমাতে চাই। এটি কিছু মার্জিত উপায়ে অর্জন করা যেতে পারে? আমার মনে আসা সবচেয়ে সহজ জিনিসটি এমন একটি লুপ যা আবার স্ট্যাটাসটি যাচাই করার আগে কিছু সময়ের জন্য ঘুমায়, তবে সম্ভবত আরও মার্জিত উপায় আছে?

উত্তর:


34

লিনাক্সে, আপনি কার্নেলের inotifyবৈশিষ্ট্যটি ব্যবহার করতে পারেন । স্ক্রিপ্টিংয়ের জন্য সরঞ্জামগুলি এখানে পাওয়া যাবে: ইনোটিফাই-সরঞ্জামগুলি

উইকির ব্যবহার উদাহরণ:

#!/bin/sh

EVENT=$(inotifywait --format '%e' ~/file1) # blocking without looping
[ $? != 0 ] && exit
[ "$EVENT" = "MODIFY" ] && echo 'file modified!'
[ "$EVENT" = "DELETE_SELF" ] && echo 'file deleted!'
# etc...

1
বেশিরভাগ ইউনিসে একই বৈশিষ্ট্য রয়েছে। দুর্ভাগ্যক্রমে প্রত্যেকের নিজস্ব ইন্টারফেস রয়েছে এবং অনেকের শেল এপিআই নেই।
গিলস 'অশুভ হওয়া বন্ধ করুন'

4

সি প্রোগ্রামারদের জন্য আইএনটিফাই নামে একটি এপিআই রয়েছে ।

কিছু সরঞ্জাম রয়েছে যা এটি ব্যবহার করে, যেমন ইনক্রন এবং ইনোটাইফাই-সরঞ্জামগুলি


তীব্র, এটি স্টাফ। চিয়ার্স মিকেল!
পল ডি ওয়েট

3

প্রকৃতপক্ষে রয়েছে: ফাইলগুলি পরিবর্তিত হলে এনট্রে (1) নির্বিচারে কমান্ডগুলি চালিত করবে এবং অ্যাপ্লিকেশন সার্ভারগুলি পুনরায় চালু করার জন্য একটি অটো-লোড বিকল্প সরবরাহ করবে।

সম্পাদনা করুন: কিছু উদাহরণ

উত্স ফাইল পরিবর্তন হলে পুনর্নির্মাণ

$ find *.c | entr make

ফাইলগুলি পরিবর্তিত হলে পরীক্ষার সার্ভার আরম্ভ করুন এবং স্বয়ংক্রিয় পুনরায় লোড করুন

$ ls *.py | entr -r python main.py

অ্যাগোমেন্ট সরবরাহ করা প্রতিটি ফাইলের নাম লেখার +/path/to/fifoনির্দেশ entrদিয়ে আরও জটিল স্ক্রিপ্টিংকে মঞ্জুরি দেয় যা নামক পাইপে পরিবর্তিত হয়। নীচেরগুলি বর্তমান ডিরেক্টরিতে থাকা মার্কডাউন ফাইলগুলি সম্পাদনা করার সাথে সাথে এইচটিএমএলে রূপান্তর করবে

$ ls *.md | entr +/tmp/notify &
$ while read F
> do
>   markdown2html $F
> done < /tmp/notify

উদ্ভট, কিন্তু অদ্ভুত। সুতরাং ... এটি স্ট্যান্ডার্ড ইনপুটটিতে ফাইলের একটি গোছা পড়ে এবং যখন কোনও একটি পরিবর্তিত হয় তখন নির্দিষ্ট আদেশটি চালায়?
ট্রিপলি

আকর্ষণীয় দেখাচ্ছে, ধন্যবাদ! entrফাইলটির নাম বদলে যাওয়ার কোনও উপায় আছে কি ?
টোবিয়াস কেইনজলার

২.7 প্রকাশিত হিসাবে, বিশেষ /_যুক্তি ( $পার্ল-এর সাথে কিছুটা
সাদৃশ্যযুক্ত)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.