ڈائرکٹری کو کیسے تلاش کریں جہاں اسکرپٹ کے اندر سے باش اسکرپٹ موجود ہے۔
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 اس کے ساتھ پڑھنے کا لنک افادیت کا استعمال اسکرپٹ کی ڈائرکٹری کا تعین کرنے کے لیے کیا جا سکتا ہے۔ تاہم، صرف استعمال کرتے ہوئے پی ڈبلیو ڈی کمانڈ کام نہیں کرتا ہے کیونکہ یہ صرف موجودہ کام کرنے والی ڈائرکٹری دیتا ہے۔