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


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.