بش میں stdrt کو stdout پر ری ڈائریکٹ کرنے کا طریقہ۔

How Redirect Stderr Stdout Bash



لینکس میں کمانڈ صارف سے کچھ ان پٹ لیتے ہیں ، جو کہ فائل یا کوئی وصف ہو سکتا ہے ، اور عمل کرنے پر ، وہ کچھ آؤٹ پٹ دیتے ہیں جسے معیاری آؤٹ پٹ کہتے ہیں۔ معیاری آؤٹ پٹ کامیاب آؤٹ پٹ یا غلطی آؤٹ پٹ ہو سکتا ہے۔ دونوں آپ کے ٹرمینل اسکرین پر دکھائے جائیں گے۔ لیکن کچھ معاملات میں ، آپ کوڈ کو جانچنے یا ڈیبگ کرنے کے لیے معیاری آؤٹ پٹ کو فائل میں محفوظ کرنا چاہتے ہیں۔ لینکس میں ، ان آؤٹ پٹ کو کسی فائل میں ری ڈائریکٹ کیا جا سکتا ہے ، اور اسے پکڑنے کے عمل کو ری ڈائریکشن کہتے ہیں۔







لینکس میں ہر عمل تین ڈیٹا اسٹریمز ، stdin ، stdout اور stderr تیار کرتا ہے۔



  • stdin : کی بورڈ کے ذریعے صارف سے ان پٹ لیتا ہے۔
  • stdout : اسکرین پر آؤٹ پٹ دکھاتا ہے۔
  • سٹڈرر : سکرین پر غلطی کی معلومات دکھاتا ہے۔

ہر ڈیٹا سٹریم کی ایک عددی شناخت ہوتی ہے۔



عددی شناخت نام۔
stdin
stdout
سٹڈرر

آئیے ذرا تفصیل کے ساتھ ری ڈائریکشن کی وضاحت کریں:





بش میں سٹینڈرڈ آؤٹ پٹ اور سٹینڈرڈ ایرر کو ری ڈائریکٹ کرنے کا طریقہ:

کمانڈ کے معیاری آؤٹ پٹ کو ری ڈائریکٹ کرنے کے لیے ، ہم ری ڈائریکشن آپریٹر کے ساتھ 1 کا استعمال کریں گے جو کہ> نشان سے بڑا ہے:

$ایل ایس >stdout.txt

مذکورہ کمانڈ ایک فائل بنائے گی اور ls کمانڈ کی معیاری پیداوار stdout.txt فائل میں رکھے گی۔



stdout.txt فائل پڑھنے کے لیے ، استعمال کریں:

$کیٹstdout.txt

ہم کمانڈ کا استعمال کرتے ہوئے معیاری غلطی کو فائل میں بھی بھیج سکتے ہیں۔

$کیٹmyfile.txt>stderr.txt

stderr.txt فائل دیکھنے کے لیے ، استعمال کریں:

$کیٹstderr.txt

یقینی بنائیں کہ استعمال 2> نشان سے زیادہ ہوگا۔ چونکہ ڈائریکٹری میں کوئی myfile.txt فائل نہیں ہے ، cat کمانڈ ایک خرابی دے گا جو stderr.txt فائل میں شامل ہو جائے گی۔

ان معیاری آؤٹ پٹ کو ایک ہی کمانڈ سے بھی ری ڈائریکٹ کیا جا سکتا ہے ، استعمال کریں:

$ایل ایس >stdout.txt>stderr.txt

ls کمانڈ کا آؤٹ پٹ میں لکھا جائے گا۔ stdout.txt فائل ، لیکن stderr.txt خالی رہے گا کیونکہ کوئی غلطی نہیں ہوگی۔

اب آئیے stderr.txt کے لیے کرتے ہیں:

$کیٹmyfile.txt>stdout.txt>stderr.txt

stderr.txt پڑھنے کے لیے نیچے دی گئی کمانڈ استعمال کریں۔

$کیٹstderr.txt

اور ظاہر ہے ، stdout.txt خالی ہو جائے گا۔

نتیجہ :

لینکس کمانڈ عملدرآمد پر معیاری آؤٹ پٹ دیتا ہے جو کہ کامیاب آؤٹ پٹ یا ایرر آؤٹ پٹ ہو سکتا ہے۔ عام طور پر ، ان آؤٹ پٹ کو ری ڈائریکٹ آپریٹرز کے ذریعے ری ڈائریکٹ نہیں کیا جا سکتا۔ ہمیں مخصوص نشانی آئی ڈی کو> نشان کے ساتھ استعمال کرنے کی ضرورت ہے۔ اس گائیڈ میں ، ہم نے سیکھا کہ ان عددی چابیاں کو معیاری آؤٹ پٹ کو مثالوں والی فائل میں ری ڈائریکٹ کرنے کے لیے کیسے استعمال کیا جائے۔