লিনাক্সে শেল অ্যাপ্লিকেশনটির আউটপুট কীভাবে আড়াল করবেন?


উত্তর:


68

আপনি যে কোনও প্রোগ্রামের আউটপুট পুনর্নির্দেশ করতে পারেন যাতে এটি দেখা না যায়।

$ program > /dev/null

এটি স্ট্যান্ডার্ড আউটপুটটিকে পুনর্নির্দেশ করবে - আপনি এখনও কোনও ত্রুটি দেখতে পাবেন

$ program &> /dev/null

এটি ত্রুটি সহ সমস্ত আউটপুট পুনর্নির্দেশ করবে।


প্রথমটি
— উইজেটের

এজন্য যে কারণে উইজেট তার আউটপুটটির জন্য স্ট্যাডার ব্যবহার করে। দ্বিতীয়টি কাজ করা উচিত।
— থিওথের রিসিও 3

2
ঘটনাক্রমে, আপনি সেই উইজেট আউটপুট কোনও লগ ফাইলে সংরক্ষণ করতে চাইতে পারেন, তাই যখন / আপনার ডাউনলোড কাজ করা বন্ধ করে দেয়, আপনি কেন এটি নির্ধারণ করতে পারেন। যদি এটি কোনও স্ক্রিপ্টে থাকে। এটি যদি এক-অফ টাইপের রান হয় তবে তা হ্যাঁ, আবর্জনায়
— ম্যাট সিমন্স

1
আপনি এটিকে শান্ত করার জন্য বিকল্পগুলি wgetব্যবহার করতে পারেন -q।
— pkhamre

/ Dev / tty এ সরাসরি লেখা আউটপুট দমন করার কোনও উপায়?
— d11wtq

30

কমান্ডলাইনে তিনটি আইও ডিভাইস উপলব্ধ।

 standard in - 0 
 standard out - 1 
 standard error - 2 

স্ট্যান্ডার্ড আউট (ডিফল্ট আউটপুট) কোনও ফাইলে পুনর্নির্দেশ করতে (এবং ফাইলটি ওভাররাইট), ব্যবহার করুন

 command > file.log 

File.log এ যুক্ত করতে 2> গুলি ব্যবহার করুন

 command >> file.log

file.log এ স্ট্যান্ডার্ড ত্রুটি পুনর্নির্দেশ করতে, ব্যবহার করুন

 command 2> file.log

এবং সংযোজন

 command 2>> file.log

আউটপুটগুলিকে একটি স্ট্রিমের সাথে একত্রিত করতে এবং সেগুলি সমস্ত স্থানে প্রেরণ করতে

 command > file.log 2>&1 

এটি 2 (stderr) কে 1 (stdout) এ প্রেরণ করে এবং stdout কে file.log এ প্রেরণ করে

লক্ষ্য করুন যে স্ট্যান্ডিনের প্রত্যাশা কমান্ডের মধ্যে স্ট্যান্ডার্ড পুনর্নির্দেশ করাও সম্ভব

 command << file.txt 

সম্পাদনা সম্পাদনা
আরও তথ্যের জন্য, অ্যাডভান্সড ব্যাশ স্ক্রিপ্টিং গাইডটি দেখুন


কেউ কি ব্যাখ্যা করতে পারে কিভাবে command > file.log 2>&1কাজ করে?
— Cory Klein

আপনি কত স্তরের জানতে চান?
— ম্যাট সিমন্স

3
@ নোমোরিংক: এটি আসলে ২ টি কমান্ড, একটি হ'ল > fileএবং দ্বিতীয়টি 2>&1। প্রথমটি স্ট্যান্ডার্ডটিকে কোনও ফাইলে পুনঃনির্দেশ করে। দ্বিতীয়টি 2 য় ফাইল বর্ণনাকারী নেয় এবং এটিকে প্রথমটিতে পুনর্নির্দেশ করে। আপনি বিপরীতটি করতে পারেন, ব্যবহার করে স্ট্যান্ডার্ড ত্রুটিতে স্ট্যান্ডার্ড আউটপুট >&2পুনর্নির্দেশ এবং তারপরে কোনও ফাইলের সাথে স্ট্যান্ডার্ড ত্রুটি পুনর্নির্দেশ করতে পারেন 2> file।
— হুবার্ট কারিও

12

লুকান stdout

./command >/dev/null

লুকান stdoutএবংstderr

./command >/dev/null 2>&1

টার্মিনালটি লুকান stdoutএবং stderrছেড়ে দিন (পটভূমিতে কমান্ডটি চালান)

./command >/dev/null 2>&1 &

3

যদি আপনি কেবল আউটপুটটি আড়াল করতে চান (এবং এটি কোনও ফাইলে সংরক্ষণ না করেন) তবে আপনি ব্যবহার করতে পারেন:

সম্পাদিত:

$ আদেশ &> / dev / নাল


এটি আউটপুটটি নাল নামক কোনও ফাইলে পুনর্নির্দেশ করবে
— 03

এটি একটি নাল ফাইল তৈরি করেছে
— জেডার ডায়াস

1
আপনি কি বোঝাতে চাইতেন না / দেব / নাল, তাই না?
— বাবু

1
হ্যাঁ, আমি থাকতাম বাবু। আমার অর্থ হ'ল কমান্ড &> / দেব / নাল। নিজের ভালোর জন্য খুব দ্রুত টাইপ করার জন্য ক্ষমা চাইছি।
— লুচো

2

ম্যাক ওএস এক্সের জন্য (10.6 "স্নো চিতা"):

আপনার যদি আউটপুট / ত্রুটি ফাইল বর্ণনাকারী পরীক্ষা করে প্রোগ্রামটিকে এটি না জানিয়ে আউটপুট আড়াল করতে হয় তবে আপনি নীচে একটি শেল ব্যবহার করে চেষ্টা করতে পারেন:

stty flusho; command ;stty -flusho

অথবা আপনি যদি কেবল টার্মিনাল থেকে ইনপুটটি গোপন করতে চান:

stty  -echo; command ;stty  echo

আরও তথ্যের জন্য stty (1) ম্যানুয়াল পৃষ্ঠা দেখুন

লিনাক্সের জন্য আমি যতটুকু জানি তা হ'ল উবুনুতু (10.04 "লুসিড") এবং কিছু "দেবিয়ান / আর্চ" (নীচে মন্তব্য করা হয়েছে - টিএনএক্স হেন্ড্রি) এর flushoসেটিং নেই (এবং আমি ম্যান-পৃষ্ঠাতে অন্য কোনও উপযুক্ত দেখতে পাচ্ছি না) । echoসেটিং যাহাই হউক না কেন উবুন্টু উপর কাজ করে।


ডেবিয়ান / আর্চের অধীনে আমার ডিফল্ট স্টাটির এই বিকল্পগুলি নেই।
— হেন্ড্রি

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