আমি এটুকু জানি:
$ 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>
হিসেবে লেখা যেতে পারে>