কমান্ড আউটপুটটির পুনঃনির্দেশটি অপ্রাসঙ্গিক বলে মনে হচ্ছে কারণ কোনও কাজ অবিচ্ছিন্নভাবে শুরু করা হলে শেল দ্বারা বিজ্ঞপ্তি প্রেরণ করা হয় । আরও স্পষ্টভাবে, এটি কাজ নিয়ন্ত্রণ সম্পর্কিত শেল বৈশিষ্ট্য (fonctionality) ।
এখানে, "বাশ রেফারেন্স ম্যানুয়াল", অধ্যায় "জব কন্ট্রোল", বিভাগের এক থেকে একটি উদ্ধৃতি এসেছে।
শেল প্রতিটি পাইপলাইনের সাথে একটি জওবিকে যুক্ত করে। এটি বর্তমানে চালানো কাজের একটি টেবিল রাখে, যা jobs
কমান্ডের সাথে তালিকাভুক্ত হতে পারে । বাশ যখন অবিচ্ছিন্নভাবে কোনও কাজ শুরু করেন, তখন এটি এমন একটি লাইন প্রিন্ট করে যা দেখে মনে হয়:
[1] 25647
ইঙ্গিত করে যে এই চাকরিটি চাকরি নম্বর 1 এবং এই কাজের সাথে যুক্ত পাইপলাইনে শেষ প্রক্রিয়ার আইডি 25647। একক পাইপলাইনে সমস্ত প্রক্রিয়া একই কাজের সদস্য। বাশ জোব বিমূর্তিটি চাকরি নিয়ন্ত্রণের ভিত্তি হিসাবে ব্যবহার করে।
নোট করুন যে একটি শেল স্ক্রিপ্ট এই বিজ্ঞপ্তিটি প্রদর্শন করে না।
$ cat test
#!/bin/bash
true & echo true
$ ./test
true
বাস্তবে
Zsh
Zsh ডকুমেন্টেশন এই বিজ্ঞপ্তিগুলি সম্পর্কে অনুরূপ ইঙ্গিত সরবরাহ করে, দেখুন man 1 zshmisc
, "JOBS" বিভাগটি দেখুন । যখন চাকরি নিয়ন্ত্রণ অক্ষম থাকে তখন এই বিজ্ঞপ্তিগুলি প্রদর্শিত হয় না ।
মনিটর ( -ম , কেএসএল: -ম )
কাজের নিয়ন্ত্রণের অনুমতি দিন। ইন্টারেক্টিভ শেলটিতে ডিফল্টরূপে সেট করুন।
zsh_prompt % setopt no_monitor
zsh_prompt % true & echo true
true
zsh_prompt %
zsh_prompt %
সজোরে আঘাত
মনে হয় বাশ সবসময় উদাঃ প্রদর্শন করে [1] 25647
। "চূড়ান্ত বিজ্ঞপ্তি" উদাহরণস্বরূপ [1]+ Done true
যখন কাজের নিয়ন্ত্রণ অক্ষম থাকে তখন প্রদর্শিত হয় না ।
bash_prompt $ true & echo true
[1] 25647
true
bash_prompt $
[1]+ Done true
কাজের নিয়ন্ত্রণ অক্ষম
bash_prompt $ set +m # disable job control
bash_prompt $ true & echo true
[1] 25685
bash_prompt $
bash_prompt $
উপসংহার
আমি জানি না যে বিজ্ঞপ্তিগুলি আড়াল করতে চাকরি নিয়ন্ত্রণ অক্ষম করা ভাল জিনিস?
সম্পদ