বাশ, শেল হয়ে , আপনার 2 টি স্ট্রিম রয়েছে যা আপনি সেই আউটপুট ডেটাটি পুনঃনির্দেশ করতে পারবেন: স্টডআউট এবং স্ট্ডার, কারণ এই আউটপুটটি কোথাও পুনঃনির্দেশিত করা দরকার, লিনাক্সের একটি নির্দিষ্ট 'সবকিছু বাতিল করুন' নোড / দেব / নাল মাধ্যমে পৌঁছাতে পারে । আপনি সেখানে যা কিছু পাঠাবেন তা কেবল অকার্যকর হয়ে যাবে।
(শাঁসের একটি ইনপুট স্ট্রিম রয়েছে তবে আমি এটিকে এড়িয়ে যাব কারণ আপনি আউটপুট দমন করার জন্য বলেছিলেন)
এই স্ট্রীমগুলি সংখ্যা দ্বারা প্রতিনিধিত্ব করা হয়: স্টাডআউটের জন্য 1 এবং স্টাডারের জন্য 2।
সুতরাং আপনি করতে চাই যদি আপনি শুধু stdout- এ পুনর্নির্দেশ করতে চান যে সঙ্গে <এবং >অপারেটরদের (মূলত যেখানে এটি পয়েন্ট যেখানে ডেটাতে প্রবাহিত হয়)
ধরা যাক আমরা স্টাডাউটকে দমন করতে চাই (/ dev / নালকে পুনর্নির্দেশ):
psql db -f sql.sql > /dev/null
আপনি দেখতে পাচ্ছেন যে এটি স্টডআউটটি ডিফল্ট, আপনি যে স্ট্রিম নম্বরটি লিখতে চান তা ব্যবহার করতে চাইলে কোনও স্ট্রিম নম্বর ব্যবহার করা হয়নি
psql db -f sql.sql 1> /dev/null
এখন আপনি যদি স্টেডারর (স্ট্রিম নম্বর 2) দমন করতে চান তবে আপনি ব্যবহার করুন
psql db -f sql.sql 2> /dev/null
আপনি একটি স্ট্রিমকে অন্যটিতেও পুনঃনির্দেশ করতে পারেন, উদাহরণস্বরূপ স্টারডোরকে স্টডআউটে, যা দরকারী যদি আপনি সমস্ত আউটপুট কোথাও নিয়মিত এবং ত্রুটিগুলি সংরক্ষণ করতে চান।
psql db -f sql.sql 2>&1 > log.txt
মনে রাখবেন এর মধ্যে ফাঁকা স্থান থাকতে পারে না 2>&1
পরিশেষে এবং কখনও কখনও সর্বাধিক আকর্ষণীয় হ'ল সত্যটি হ'ল আপনি সমস্ত আউটপুটটি ব্যবহার করে দমন করতে পারেন &>, যখন আপনি এটি 'পুরোপুরি শান্ত' চান
psql db -f sql.sql &> /dev/null
PAGER="/dev/null" psql db -P pager=always -f sql.sqlএটি সর্বদা আউটপুট মারতে হবে।