আমি এটুকু জানি:
$ command 2>> error
$ command 1>> output
আমি কি কোনও উপায়ে স্ট্যাডারকে ত্রুটি ফাইল এবং আউটপুট স্ট্যাডআউটকে একই লাইনে ব্যাশের আউটপুট ফাইলে আউটপুট দিতে পারি?
আমি এটুকু জানি:
$ command 2>> error
$ command 1>> output
আমি কি কোনও উপায়ে স্ট্যাডারকে ত্রুটি ফাইল এবং আউটপুট স্ট্যাডআউটকে একই লাইনে ব্যাশের আউটপুট ফাইলে আউটপুট দিতে পারি?
উত্তর:
এগুলি কেবল একটি লাইনে যুক্ত করুন command 2>> error 1>> output
তবে নোটটি >>ফাইলটিতে ইতিমধ্যে ডেটা থাকলে তা সংযোজনের জন্য রয়েছে note যেখানে >ফাইলটিতে বিদ্যমান ডেটা ওভাররাইট করা হবে।
সুতরাং, command 2> error 1> outputআপনি সংযোজন করতে না চাইলে।
শুধু সমাপ্তির দোহাই জন্য, আপনি লিখতে পারেন 1>শুধু >যেহেতু ডিফল্ট ফাইল বর্ণনাকারী আউটপুট। সুতরাং 1>এবং >একই জিনিস।
সুতরাং, command 2> error 1> outputহয়ে যায়,command 2> error > output
command &2>err.log, আমি মনে করি আমি সম্পূর্ণ বিভ্রান্তিকর সিন্ট্যাক্সিজ। (সমস্ত বাশ পাইপ-
command &2>err.logবৈধ নয় - সিনট্যাক্সের এম্পারস্যান্ডটি ফাইলের বর্ণনাকারী হিসাবে টার্গেট হিসাবে ব্যবহৃত হয়, উদাহরণস্বরূপ স্ট্যাডআউট থেকে স্টেডারকে command 1>&2পুনরুত্পাদন করা হবে।
এটা চেষ্টা কর:
your_command 2>stderr.log 1>stdout.log
সংখ্যাসমূহ 0মাধ্যমে 9হয় ফাইল বর্ণনাকারী ব্যাশ হবে।
0মানে স্ট্যান্ডার্ড ইনপুট, 1স্ট্যান্ডার্ড আউটপুট, 2স্ট্যান্ডার্ড ত্রুটি। 3মাধ্যমে 9অন্য কোনও অস্থায়ী ব্যবহারের জন্য অতিরিক্ত।
যে কোনও ফাইল ডেস্ক্রিপ্টর অপারেটরটি ব্যবহার করে কোনও ফাইল বা অন্য কোনও ফাইল ডেস্ক্রিপ্টারে পুনঃনির্দেশিত হতে পারে >। অপারেটরটি >>খালি তৈরির পরিবর্তে কোনও ফাইলে সংযোজন করতে ব্যবহার করতে পারেন ।
ব্যবহার:
file_descriptor > filename
file_descriptor > &file_descriptor
অনুগ্রহ করে উন্নত বাশ-স্ক্রিপ্টিং গাইড: অধ্যায় 20. I / O পুনঃনির্দেশ ।
সে রকমই:
$ command >>output 2>>error
অথবা আপনি যদি একটি একক ফাইলে আউটপুট (স্টডআউট এবং স্টডার) মিশ্রণ করতে চান তবে আপনি ব্যবহার করতে পারেন:
command > merged-output.txt 2>&1
একাধিক কমান্ডের আউটপুট পুনঃনির্দেশিত করা যেতে পারে। এটি কমান্ড লাইনটির জন্য বা ব্যাশ স্ক্রিপ্টে সবচেয়ে কার্যকরভাবে কাজ করে। -sপাসওয়ার্ড পর্দায় প্রম্পট নির্দেশ।
হিয়ারব্লক সেন্টিমিডেস স্টাডাউট / স্টার্ডার পৃথক ফাইলগুলিতে প্রেরণ করা হয় এবং প্রদর্শন করার মতো কিছুই না nothing
sudo -s -u username <<'EOF' 2>err 1>out
ls; pwd;
EOF
হিয়ারব্লক সেন্টিমিডেস স্ট্যাডআউট / স্টডার একক ফাইল এবং ডিসপ্লেতে প্রেরণ করা হয়।
sudo -s -u username <<'EOF' 2>&1 | tee out
ls; pwd;
EOF
হিয়ারব্লক সেন্টিমিডেস / স্টার্ডার আলাদা আলাদা ফাইল এবং স্টাডআউটকে প্রদর্শন করার জন্য প্রেরণ করা হয়।
sudo -s -u username <<'EOF' 2>err | tee out
ls; pwd;
EOF
আপনি কে (হোয়ামি) এবং ব্যবহারকারী নাম ব্যবহারের উপর নির্ভর করে একটি পাসওয়ার্ড প্রয়োজন হতে পারে বা নাও হতে পারে।
1>হিসেবে লেখা যেতে পারে>