আমি আমার /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এবং আপনি আপনার হোম ডিরেক্টরিটি পাবেন (তবে কেন আমি জানি না ...)