এটি অদলবদল stdout
এবং stderr
।
>name
এর অর্থ আউটপুট ফাইলে পুনঃনির্দেশ করা name
।
>&number
এর অর্থ আউটপুট ফাইল বিবরণীতে পুনঃনির্দেশ করা number
।
সুতরাং &
শেলটি বলতে আপনার ফাইলের নাম নয়, কোনও ফাইল বর্ণনাকারী বলতে প্রয়োজন।
একটি ফাইল বর্ণনাকারী এমন একটি সংখ্যা যা ইতিমধ্যে উন্মুক্ত ফাইলকে বোঝায়। মান বেশী 0
মান ইনপুট জন্য, 1
মান আউটপুট জন্য অথবা 2
মান ত্রুটি জন্য। আপনি অন্য যে কোনও নম্বর ব্যবহার করতে পারেন, যা একটি নতুন ফাইল বর্ণনাকারী তৈরি করবে, ঠিক যেমন আপনি যখন একটি নতুন ভেরিয়েবল তৈরি করবেন তখন var=value
।
ডিফল্টরূপে, উভয় ফাইল বর্ণনাকারী 1
এবং এতে 2
যান /dev/tty
, সুতরাং আপনি somecommand 3>&1 1>&2 2>&3
যদি একটি নতুন শেল চালনা করেন তবে এটি কোনও পরিবর্তন করে না (কেবলমাত্র আপনার কাছে ফাইলের বর্ণনাকারী সংখ্যা 3 রয়েছে)।
তবে স্ক্রিপ্টের আগে কোথাও এটি এক্সিকিউটিউট (উদাহরণস্বরূপ exec 2>error.log
) ব্যবহার করে একটি রিডাইরেকশন করে , বা স্ক্রিপ্টটি একটি কমান্ড লাইন দিয়ে পুনর্নির্দেশ (উদাহরণস্বরূপ ./thescript 2>error.log
) সহ চালানো হয় , তবে স্ট্যাডআউট এবং স্ট্ডার অদলবদল কিছু করবে।
আপনার নির্দিষ্ট ক্ষেত্রে, স্ট্যান্ডআউট এবং স্টডার অদলবদল হওয়া কমান্ডটি হ'ল dialog
। এর ম্যান পেজটি দেখছি, আমি দেখতে পাচ্ছি
Some widgets, e.g., checklist, will write text to dialog's output.
Normally that is the standard error
সুতরাং সম্ভবত যে ব্যক্তি স্ক্রিপ্টটি লিখেছেন তিনি কোনও কারণে তার পরিবর্তে dialog
আউটপুট যেতে চান ।stdout
stderr
আরও দেখুন পুনঃনির্দেশগুলি অর্ডার