কমান্ড আউটপুট স্টাডার বা স্টাডাউটে নয়


16

আমি এই সমস্যাটিতে হোঁচট খেয়েছি, তাই আমি ভাবছি যে এটি কীভাবে সম্ভব?

কমান্ডের স্ট্যান্ডার্ড রান:

# zabbix_sender -c zabbix_agentd.conf -k mmysql.QCInserts -o 14
info from server: "Processed 0 Failed 1 Total 1 Seconds spent 0.000017"
sent: 1; skipped: 0; total: 1

ঠিক আছে, আসুন কেবল প্রথম লাইনটি পেতে চেষ্টা করুন:

# zabbix_sender -c zabbix_agentd.conf -k mmysql.QCInserts -o 14 | head -1
sent: 1; skipped: 0; total: 1

স্ট্যান্ডার্ড মাথা সম্পর্কে কি?

# zabbix_sender -c zabbix_agentd.conf -k mmysql.QCInserts -o 14 | head 
sent: 1; skipped: 0; total: 1

বিপরীত গ্রেপ? sed? টী বর্ণের নাম?!?!? !!?

# zabbix_sender -c zabbix_agentd.conf -k mmysql.QCInserts -o 14 | grep -v pero
sent: 1; skipped: 0; total: 1

# zabbix_sender -c zabbix_agentd.conf -k mmysql.QCInserts -o 14 | sed 's/foo/bar/'
sent: 1; skipped: 0; total: 1

# zabbix_sender -c zabbix_agentd.conf -k mmysql.QCInserts -o 14 | tee
sent: 1; skipped: 0; total: 1

stdrr to stdout?

# zabbix_sender -c zabbix_agentd.conf -k mmysql.QCInserts -o 14 2>&1 | tee
sent: 1; skipped: 0; total: 1

আমি সত্যিই বিস্মিত ...


তুমি কী আশা teeকরছ? দৌড়ালে কী হয় zabix_sender <options> 2>&1 | head -1?
— টেরডন

উত্তর:


16

যদি অ্যাপ্লিকেশনটি STDOUT বা STDERR এর পরিবর্তে সরাসরি টিটিওয়াইতে লিখিত হয় তবে এটি ঘটতে পারে।

নীচের 2 টি উদাহরণের সাথে তুলনা করে আপনি এই আচরণের সাথে খেলতে পারেন

( echo foo ) &>/dev/null
( echo foo > $(tty) ) &>/dev/null

লক্ষ্য করুন প্রথমটি কিছুই দেখায় না, তবে দ্বিতীয়টি কিছু করে। এর কারণ আমরা আউটপুটটি সরাসরি টিটিটিতে পাঠিয়েছি এবং পুনঃনির্দেশটিকে বাইপাস করেছি /dev/null।

আপনি ব্যবহার করে এর মতো স্টাফ পেতে পারেন script

script -c '( echo foo > $(tty) ) &>/dev/null'  >/dev/null

মূলত scriptইউটিলিটি একটি নকল টিটি তৈরি করে এবং সেই টিটিটিতে কমান্ডটি চালু করে। কমান্ড থেকে যে কোনও আউটপুট STDOUT এ প্রেরণ করা হয় যা আপনি তারপরে স্বাভাবিক হিসাবে পুনর্নির্দেশ করতে পারেন।


"স্ক্রিপ্ট" এর নির্দেশকের জন্য আপনাকে ধন্যবাদ! জিপিজি / জিপিজি 2 এর স্টিডিন থেকে না পড়ার একগুঁয়েমী জেদকে ঘিরে কাজ করার জন্য আমার ঠিক এটিই ছিল।
— এরিক

ধন্যবাদ। এখানে পৌঁছানোর জন্য বেশ খানিকটা অনুসন্ধান করেছেন। আশ্চর্যজনক যে এটি এমন একটি অজনপ্রিয় প্রশ্ন (আমি ভিএলসির সাথে ডিল করছি)।
— পল

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