আমি সাধারণত watch
লিনাক্স ইউটিলিটি প্রতি এন সেকেন্ডে বার বার একটি কমান্ডের আউটপুট দেখতে দেখতে ব্যবহার করিwatch df -h /some_volume/
তবে আমি watch
পাইপযুক্ত সিরিজের মতো কমান্ডের মতো কমান্ডটি ব্যবহার করতে সক্ষম হবে বলে মনে হচ্ছে না :
$ watch ls -ltr|tail -n 1
আমি যদি এটি করি watch
তবে সত্যই পর্যবেক্ষণ ls -ltr
করা হচ্ছে এবং আউটপুটটি পাস হচ্ছে tail -n 1
যা কিছুই আউটপুট দেয় না।
যদি আমি এটি চেষ্টা করি:
$ watch (ls -ltr|tail -n 1)
আমি পাই
$ watch: syntax error near unexpected token `ls'
এবং নিম্নলিখিতগুলির যে কোনও একটি কারণে বা অন্য কোনও কারণে ব্যর্থ হয়:
$ watch <(ls -ltr|tail -n 1)
$ watch < <(ls -ltr|tail -n 1)
$ watch $(ls -ltr|tail -n 1)
$ watch `ls -ltr|tail -n 1)`
এবং অবশেষে যদি এটি করেন:
$ watch echo $(ls -ltr|tail -n 1)
আমি প্রদত্ত বিরতিতে আউটপুটে কোনও পরিবর্তন দেখতে পাচ্ছি না কারণ ভিতরে কমান্ডটি $()
কেবল একবার চালানো হয় এবং ফলস্বরূপ আউটপুট স্ট্রিংটি সর্বদা আক্ষরিক হিসাবে মুদ্রিত হয় ("দেখেছি")।
সুতরাং, আমি কীভাবে watch
কমান্ডকে পাইপযুক্ত কমান্ডগুলির শৃঙ্খলা [অন্য যে এগুলি একটি স্ক্রিপ্টের ভিতরে রাখছি] দিয়ে কাজ করব?
man watch
এবং উদাহরণগুলিতে স্ক্রোল করুন ...