ڈائرکٹری صرف اس صورت میں بنانا جب یہ AIX پر KornShell (ksh) میں موجود نہ ہو

Shell

کورن شیل اسکرپٹس میں ڈائرکٹری تخلیق کا انتظام کرنا

AIX پر KornShell (ksh) میں شیل اسکرپٹ لکھتے وقت، ایسے منظرنامے ہوتے ہیں جہاں آپ کو ڈائرکٹری صرف اس صورت میں بنانے کی ضرورت ہوتی ہے جب وہ پہلے سے موجود نہ ہو۔ mkdir کمانڈ کا استعمال سیدھا ہے، لیکن اگر ڈائرکٹری پہلے سے موجود ہو تو پیچیدگیاں پیدا ہوتی ہیں، کیونکہ اس کے نتیجے میں غلطی کا پیغام آتا ہے۔

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

کمانڈ تفصیل
-d یہ جانچنے کے لیے ٹیسٹ کمانڈ کے ساتھ استعمال کیا جاتا ہے کہ آیا کوئی ڈائریکٹری موجود ہے۔
mkdir -p ڈائرکٹری اور کوئی ضروری پیرنٹ ڈائریکٹریز بناتا ہے، اگر ڈائرکٹری پہلے سے موجود ہے تو غلطیوں کو دباتا ہے۔
2>2>/dev/null معیاری ایرر کو کالعدم پر ری ڈائریکٹ کرتا ہے، مؤثر طریقے سے خرابی کے پیغامات کو دباتا ہے۔
$? آخری پھانسی کی کمانڈ کی خارجی حیثیت کی نمائندگی کرتا ہے۔
echo معیاری آؤٹ پٹ پر ایک پیغام پرنٹ کرتا ہے۔
if [ ! -d "directory" ] مشروط بیان چیک کرنے کے لیے کہ آیا مخصوص ڈائریکٹری موجود نہیں ہے۔

کورن شیل ڈائرکٹری مینجمنٹ کو سمجھنا

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

دوسرا اسکرپٹ استعمال کرکے ایک مختلف انداز اختیار کرتا ہے۔ غلطی کو دبانے کے ساتھ کمانڈ۔ دی فلیگ اس بات کو یقینی بناتا ہے کہ اگر ڈائرکٹری پہلے سے موجود ہے اور کوئی ضروری پیرنٹ ڈائرکٹری بھی بناتا ہے تو کوئی غلطی نہیں کی جاتی ہے۔ پر غلطیوں کو ری ڈائریکٹ کرکے کے ساتھ 2>/dev/null، اسکرپٹ کسی بھی خرابی کے پیغامات کو دباتا ہے جو ہوسکتا ہے اگر ڈائریکٹری پہلے سے موجود ہو۔ یہ اسکرپٹ باہر نکلنے کی حیثیت کو بھی چیک کرتا ہے۔ کا استعمال کرتے ہوئے کمانڈ مناسب رائے فراہم کرنے کے لئے. اگر خارجی حیثیت صفر ہے، تو یہ تصدیق کرتا ہے کہ ڈائریکٹری بنائی گئی تھی یا پہلے سے موجود تھی۔ دوسری صورت میں، یہ ایک ناکامی کی طرف اشارہ کرتا ہے.

KornShell میں مشروط طور پر ڈائرکٹری بنانا

AIX پر KornShell (ksh) کا استعمال کرتے ہوئے شیل اسکرپٹ

#!/bin/ksh
# Check if the directory does not exist, then create it
DIRECTORY="/path/to/directory"
if [ ! -d "$DIRECTORY" ]; then
  mkdir "$DIRECTORY"
  echo "Directory created: $DIRECTORY"
else
  echo "Directory already exists: $DIRECTORY"
fi

ڈائرکٹری بناتے وقت خرابی کے پیغامات کو دبانا

کورن شیل میں ایرر سپریشن کے ساتھ mkdir کا استعمال

#!/bin/ksh
# Attempt to create the directory and suppress error messages
DIRECTORY="/path/to/directory"
mkdir -p "$DIRECTORY" 2>/dev/null
if [ $? -eq 0 ]; then
  echo "Directory created or already exists: $DIRECTORY"
else
  echo "Failed to create directory: $DIRECTORY"
fi

KornShell میں ڈائرکٹری بنانے کے لیے جدید تکنیک

بنیادی ڈائرکٹری کی تخلیق اور غلطی کو دبانے کے علاوہ، اعلی درجے کی KornShell (ksh) اسکرپٹنگ ڈائریکٹریز کے انتظام کے لیے زیادہ مضبوط حل پیش کر سکتی ہے۔ ایسی ہی ایک تکنیک میں لاگنگ اور اطلاعات کو اسکرپٹ میں شامل کرنا شامل ہے۔ یہ خاص طور پر پیداواری ماحول میں مفید ہو سکتا ہے جہاں ڈائریکٹری بنانے کی کوششوں پر نظر رکھنا ضروری ہے۔ کسی فائل میں لاگ انٹریز کو شامل کرکے، آپ تمام ڈائرکٹری آپریشنز کی تاریخ کو برقرار رکھ سکتے ہیں، جو ڈیبگنگ اور آڈیٹنگ میں معاون ہے۔ یہ ایکو بیانات شامل کرکے حاصل کیا جاسکتا ہے جو لاگ فائل میں لکھتے ہیں۔

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

  1. میں کیسے چیک کرسکتا ہوں کہ آیا KornShell میں ڈائریکٹری موجود ہے؟
  2. کا استعمال کرتے ہیں یہ چیک کرنے کے لیے کمانڈ کریں کہ آیا کوئی ڈائریکٹری موجود ہے۔
  3. کیا کرتا ہے پرچم میں کرتے ہیں کمانڈ؟
  4. دی flag کسی بھی ضروری پیرنٹ ڈائریکٹریز کے ساتھ ڈائرکٹری بناتا ہے اور اگر ڈائرکٹری پہلے سے موجود ہے تو غلطی نہیں کرتا۔
  5. میں غلطی کے پیغامات کو کیسے دبا سکتا ہوں۔ کمانڈ؟
  6. ایرر آؤٹ پٹ کو ری ڈائریکٹ کریں۔ استعمال کرتے ہوئے .
  7. چیک کرنے کا مقصد کیا ہے۔ ایک حکم کے بعد؟
  8. یہ آخری ایگزیکیٹڈ کمانڈ کی ایگزٹ سٹیٹس کو چیک کرتا ہے، جس میں 0 کامیابی کی نشاندہی کرتا ہے۔
  9. میں ڈائریکٹری بنانے کی کوششوں کو کیسے لاگ کر سکتا ہوں؟
  10. استعمال کریں۔ پیغامات کو لاگ فائل میں شامل کرنے کے بیانات، کارروائیوں کی تاریخ فراہم کرتے ہیں۔
  11. کیا میں KornShell میں باقاعدہ ڈائرکٹری چیک شیڈول کر سکتا ہوں؟
  12. جی ہاں، استعمال کریں اسکرپٹ کو شیڈول کرنے کے لیے نوکریاں جو ضرورت کے مطابق ڈائرکٹریز کو چیک اور تخلیق کرتی ہیں۔
  13. اگر ڈائرکٹری بن جاتی ہے تو میں اطلاعات کیسے بھیج سکتا ہوں؟
  14. اسکرپٹ کو کے ساتھ مربوط کریں۔ ڈائریکٹری بنانے پر ای میل اطلاعات بھیجنے کا حکم۔
  15. کیا بیک وقت متعدد ڈائریکٹریز بنانا ممکن ہے؟
  16. جی ہاں، استعمال کریں ایک کمانڈ میں نیسٹڈ ڈائریکٹریز بنانے کے لیے۔

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