<> লিনাক্স রিড্রাইরেকশন অপারেটরের প্রশ্ন


2

আমি আমার LPIC-1 এর জন্য অধ্যয়নরত এবং আমি & lt; & gt; দ্বারা বিভ্রান্ত করছি। পুনঃনির্দেশ অপারেটর। আমি এই জন্য সরকারী সংজ্ঞা জানি যে এটি "নির্দিষ্ট ফাইলকে স্ট্যান্ডার্ড ইনপুট এবং স্ট্যান্ডার্ড আউটপুট উভয়ের জন্য ব্যবহার করতে পারে" ... তবে আমি এখনও বিভ্রান্ত।

কেউ কীভাবে / যখন আমি & lt; & gt; ব্যবহার করব তা একটি উদাহরণ প্রদান করতে পারি। লিনাক্সে পুনঃনির্দেশ অপারেটর?


একটি ভাল কিন্তু জার্মান-ব্যাখ্যামূলক পুনর্নির্দেশনার শুধুমাত্র ব্যাখ্যা যা আমি জানি এখানে পাওয়া যাবে
nuchoco

উত্তর:


4

একটি উদাহরণ ইনপুট ডেটা সরবরাহ করার জন্য একটি উদাহরণ হবে, এবং কোথাও আউটপুট ডেটা পাঠাতে হবে (যেমন একটি ফাইল):

$ sort < data.txt > result.txt

এই তথ্য রান করে data.txt সাজানোর কমান্ডের মাধ্যমে, এবং আউটপুট পাঠায় result.txt। এটা এই কাজ অভিন্ন:

$ sort data.txt > result.txt

এইভাবে ভেবে দেখুন:

(2 <- 1) -> 3

মধ্যম ফাইলটি প্রোগ্রামটিতে ২ নম্বর স্থানে ফিরিয়ে দেওয়া হয় এবং ফলস্বরূপ ফলাফল 3 এ পাঠানো হয়।


আপনাকে স্বাগতম! :)
John T

আমি মনে করি "sort data.txt" এবং "sort & lt; data.txt" এর মধ্যে একটি কার্যকরী পার্থক্য রয়েছে। পূর্বে, ইউটিলিটি ফাইল ফাইলটিতে একটি ফাইল খুলতে এবং এটি পড়তে হবে বুঝতে হবে। পরে, ইউটিলিটির শুধুমাত্র "স্ট্যান্ডার্ড ইন" থেকে পাঠ্যটি কীভাবে পড়তে হবে তা বুঝতে হবে, যা একটি ইন্টারেক্টিভ টার্মিনাল অ্যাক্সেসের জন্য সাধারণত কীবোর্ড। আমার ভুল হতে পারে.
pcapademic

3

জন টি এর উত্তর যদি আপনি চান, তাহলে আপনি প্রশ্নটি ভুল করে বলেন :)

তিনি সংক্ষিপ্ত বর্ণনা করেছেন & lt; এবং & gt; অপারেটররা, কিন্তু আপনি & lt; & gt; সম্পর্কে জিজ্ঞাসা করেছিলেন। এটি একটি খুব কমই ব্যবহৃত অপারেটার যা আমি নিশ্চিত নই যে আমি LPIC-1 তে দেখতে চাই, তবে রেকর্ডের জন্য (আপনি সম্ভবত এই পরীক্ষার সাথে এখনই সম্পন্ন করেছেন):

যখন আপনি ইন্টারঅ্যাক্টিভভাবে পুনঃনির্দেশ ছাড়াই একটি কমান্ড চালান তার মানক ইনপুট, আউটপুট এবং ত্রুটি সাধারণত tty সংযুক্ত হবে; এটি স্টেডিন থেকে পড়বে এবং stdout / stderr এ লিখবে। যদিও আপনি এটির প্রত্যাশা নাও করতে পারেন তবে, সেই ফাইল বর্ণনাকারীরা সাধারণত পঠন-খোলার খোলা থাকে। মত একটি স্ক্রিপ্ট চলমান চেষ্টা করুন

#!/bin/bash
echo "I'm writing to stdin!" >&0

এই বেয়ার চলমান অন্তত বর্তমান, কাজ করবে সজোরে আঘাত সংস্করণ। যাইহোক, যখন আপনি & lt ব্যবহার করেন; এবং & gt; পুনঃনির্দেশক, stdin এবং stdout ফাইল বর্ণনাকারীরা যথাক্রমে যথাযথভাবে পড়ার এবং লেখার জন্য খোলা থাকে, তাই যদি আপনি একটি ফাইল থেকে পুনঃনির্দেশিত ইনপুট দিয়ে এটি আহ্বান করেন -

./write-to-stdin < /tmp/some-input

এটা না করবে না কাজ (যুক্তিসঙ্গত যথেষ্ট)। যদি আপনি সত্যিই একটি প্রোগ্রাম চান তবে আপনি পুনঃনির্দেশনার সাথে আহ্বান জানাতে সক্ষম হবেন এবং একক ফাইল বর্ণনাকারীকে লিখতে সক্ষম হবেন, & lt; & gt; কাজ করতে হবে।

./read-and-write-stdin   <> /tmp/some-input-and-output
./read-and-write-stdout 1<> /tmp/some-input-and-output

বেশিরভাগ প্রোগ্রাম স্টেডিনকে শুধুমাত্র একটি পাঠ্য বর্ণনাকারী এবং স্টডাউট হতে একটি লেখার বর্ণনাকারী হতে প্রত্যাশা করে, সম্ভবত আপনি দেখতে পারেন যে এটি কেন খুব কমই দরকারী, তবে যদি আপনি অধস্তন স্ক্রিপ্টগুলি লেখেন (অথবা ফাংশন ব্যবহার করে) তবে আপনি আচরণের সুবিধা নিতে পারেন নিজেকে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.