ڈائرکٹری کو کیسے تلاش کریں جہاں اسکرپٹ کے اندر سے باش اسکرپٹ موجود ہو۔

Ayrk Ry Kw Kys Tlash Kry J A Askrp K Andr S Bash Askrp Mwjwd W



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

ڈائرکٹری کو کیسے تلاش کریں جہاں اسکرپٹ کے اندر سے باش اسکرپٹ موجود ہے۔

bash اسکرپٹنگ کے دوران آپ کو مختلف کاموں کو خودکار کرنے کے لیے اسکرپٹ کے مقام کی ضرورت پڑسکتی ہے۔ لینکس میں دو قسم کے راستے ہیں:

  • رشتہ داروں کا راستہ: رشتہ دار موجودہ ورکنگ ڈائرکٹری ہے۔
  • مطلق راستہ: یہ ڈائریکٹری اور فائلوں کا مکمل راستہ ہے۔

bash اسکرپٹ کے مقام کا تعین کرنے کے سب سے عام طریقوں میں سے ایک استعمال کرنا ہے۔ پی ڈبلیو ڈی کمانڈ. دی پی ڈبلیو ڈی کمانڈ ( پرنٹ ورکنگ ڈائرکٹری) موجودہ ڈائریکٹری دکھائے گا۔







لہذا، بہت سے حالات میں صرف استعمال کرتے ہوئے پی ڈبلیو ڈی کمانڈ کام نہیں کرتا ہے کیونکہ یہ صرف موجودہ کام کرنے والی ڈائرکٹری کا راستہ دیتا ہے۔



مثال کے طور پر، اگر اسکرپٹ میں ہے۔ ڈاؤن لوڈ ڈائریکٹری اور سے پھانسی دی جا رہی ہے ڈیسک ٹاپ پھر آؤٹ پٹ پر مشتمل ہوگا۔ /home/usr/Desktop bash اسکرپٹ فائل کا مقام نہیں جو ہے۔ /home/usr/ڈاؤن لوڈز .



یہ ٹیوٹوریل اس ڈائریکٹری کا راستہ حاصل کرنے کے بارے میں ہے جس میں اسکرپٹ کے اندر سے bash اسکرپٹ فائل موجود ہے۔





ڈائرکٹری کا راستہ کیسے حاصل کریں جہاں باش اسکرپٹ فائل موجود ہے۔

باش اسکرپٹ کی ڈائرکٹری کا تعین کرنے کا دوسرا طریقہ استعمال کرنا ہے۔ dirname کمانڈ. دی dirname کمانڈ ایک دلیل کے طور پر ایک فائل کا راستہ لیتا ہے اور راستے کا ڈائریکٹری حصہ واپس کرتا ہے۔

استمال کے لیے dirname اسکرپٹ کی ڈائرکٹری کا تعین کرنے کے لیے کمانڈ، آپ اسکرپٹ کے آخری غیر سلیش اجزاء تک پاتھ کے ساتھ کمانڈ کو بطور دلیل کال کریں گے۔



کے بارے میں مزید تفصیلات کے لیے dirname ٹرمینل میں درج ذیل کمانڈز پر عمل کریں:

$ آدمی dirname

صرف dirname کام نہیں کرے گا، ہمیں ایک اور کمانڈ کی ضرورت ہے۔ پڑھنے کا لنک . دی پڑھنے کا لنک کمانڈ پرنٹ نے علامتی لنک کو حل کیا۔ چلا کر اس کمانڈ کے بارے میں مزید معلومات حاصل کریں:

$ آدمی پڑھنے کا لنک

ابھی، ایک سکرپٹ بنائیں :

$ sudo نینو myScript.sh

اور ٹائپ کریں:

#!/bin/bash

بازگشت 'بش اسکرپٹ کا راستہ ہے۔ $(dirname -- '$(readlink -f – '$0') ' ; ) '

اسکرپٹ کو چلانے کے لیے استعمال کریں:

$ bash myScript.sh

آئیے ڈائرکٹری کو تبدیل کریں اور دیکھیں کہ آؤٹ پٹ کیا ہے:

نوٹ: ایک صورت میں مذکورہ اسکرپٹ کام نہیں کرے گا اگر فائل کو ایگزیکیوٹنگ کے بجائے سورس کیا جائے جیسا کہ اسے درج ذیل آؤٹ پٹ میں دیکھا جا سکتا ہے۔

آؤٹ پٹ ہے۔ /home/sam/Desktop جبکہ اسکرپٹ فائل میں موجود ہے۔ /گھر/سیم ڈائریکٹری

نتیجہ

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