আমি আমার /tmp/
ডিরেক্টরিতে ফাইল সংখ্যা দেখার চেষ্টা করছি । এর জন্য আমি ভেবেছিলাম এই আদেশটি কার্যকর হবে:
watch sh -c 'ls /tmp/|wc -l'
তবে এটি এমন মনে হয় যেন ls
কোনও যুক্তি নেই work যথা, আমি আছি ~
, এবং আমি সেখানে ফাইলের সংখ্যা পাই /tmp/
। আমি একটি পরিশ্রম পেয়েছি, যা কাজ করে বলে মনে হচ্ছে:
watch sh -c 'ls\ /tmp/|wc -l'
তবে কেন আমার মধ্যে ls
এবং এর মধ্যবর্তী স্থানটি পালাতে হবে /tmp/
? কমান্ডটি কীভাবে রূপান্তরিত হবে watch
যাতে ls
আউটপুটটি ফিড করা হয় wc
, কিন্তু /tmp/
যুক্তি হিসাবে পাস করা হয় না ls
?
watch
ভুলভাবে ব্যবহার করছেন youআপনি যে কমান্ডটি পাস করেছেন watch
তা বদলে ফেলা watch
হবে sh -c
, সুতরাং আপনি কার্যকরভাবে sh -c
দু'বার করছেন ।
/tmp
একটি যুক্তি sh
, সেই ক্ষেত্রে, কোনো আর্গুমেন্ট প্রাপ্ত করতে ls
।
watch "sh -c 'ls /tmp | wc -l'"
এই কমান্ডটি করার ফলে পছন্দসই প্রভাব পাওয়া উচিত। এটি ত্রুটি দেখছে না, চেষ্টা করুনsh -c ls /tmp
এবং আপনি আপনার হোম ডিরেক্টরিটি পাবেন (তবে কেন আমি জানি না ...)