باش اسکرپٹ کی ڈائرکٹری تلاش کرنے کے لیے گائیڈ

باش اسکرپٹ کی ڈائرکٹری تلاش کرنے کے لیے گائیڈ
Bash Script

آپ کی باش اسکرپٹ کی ڈائرکٹری کا پتہ لگانا

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

چاہے آپ اپنی اسکرپٹ کو کسی اور ایپلیکیشن کو لانچ کرنے کے لیے استعمال کر رہے ہوں یا مخصوص فائلوں پر آپریشن کر رہے ہوں، اسکرپٹ کی ڈائرکٹری تلاش کرنا ہموار اور قابل پیشن گوئی کے عمل کو یقینی بناتا ہے۔ یہ گائیڈ ظاہر کرے گا کہ اس کام کو کیسے پورا کیا جائے۔

کمانڈ تفصیل
${BASH_SOURCE[0]} باش میں اسکرپٹ کے مکمل راستے کا حوالہ دیتا ہے۔
cd $(dirname ...) موجودہ ڈائرکٹری کو مخصوص فائل یا اسکرپٹ کی پیرنٹ ڈائرکٹری میں تبدیل کرتا ہے۔
pwd موجودہ ورکنگ ڈائرکٹری پرنٹ کرتا ہے۔
realpath() Python میں مخصوص فائل نام کا کینونیکل راستہ لوٹاتا ہے۔
sys.argv[0] اسکرپٹ کے نام پر مشتمل ہے جو Python اسکرپٹ کو شروع کرنے کے لیے استعمال کیا گیا تھا۔
os.chdir() موجودہ ورکنگ ڈائرکٹری کو Python میں مخصوص پاتھ میں تبدیل کرتا ہے۔
os.system() ازگر میں سب شیل میں ایک کمانڈ پر عمل کرتا ہے۔
ls -al موجودہ ڈائریکٹری میں تفصیلی معلومات کے ساتھ تمام فائلوں اور ڈائریکٹریوں کی فہرست۔

اسکرپٹ ڈائرکٹری کے مقام کو سمجھنا

فراہم کردہ اسکرپٹ اس ڈائرکٹری کا تعین کرنے کے طریقے دکھاتی ہیں جہاں باش اسکرپٹ واقع ہے۔ باش اسکرپٹ کی مثال میں، کمانڈ ${BASH_SOURCE[0]} اسکرپٹ کا راستہ حاصل کرنے کے لئے استعمال کیا جاتا ہے، جبکہ cd $(dirname ...) ورکنگ ڈائرکٹری کو اسکرپٹ کی ڈائرکٹری میں تبدیل کرتا ہے۔ دی pwd کمانڈ موجودہ ورکنگ ڈائرکٹری کو پرنٹ کرتی ہے، جو تبدیلی کی تصدیق کرتی ہے۔ یہ اسکرپٹ کے مقام سے ایپلیکیشنز کو شروع کرنے کے لیے ضروری ہے، اس بات کو یقینی بناتے ہوئے کہ تمام کارروائیاں درست تناظر میں ہوں۔

ازگر اسکرپٹ کی مثال میں، os.path.dirname(os.path.realpath(sys.argv[0])) سکرپٹ کی ڈائرکٹری کو بازیافت کرتا ہے، اور os.chdir() ورکنگ ڈائرکٹری کو تبدیل کرتا ہے۔ دی os.system() کمانڈ کسی اور ایپلیکیشن کو چلانے کے لیے استعمال کیا جاتا ہے۔ اعلی درجے کی باش اسکرپٹ کی مثال ان تکنیکوں کو یکجا کرتی ہے، استعمال کرتے ہوئے ls -al اسکرپٹ کی ڈائرکٹری میں فائلوں کی فہرست بنانے کے لیے۔ یہ نقطہ نظر ان اسکرپٹس کے لیے مفید ہے جن کو اپنے مقام کے لحاظ سے فائلوں کو منظم کرنے یا چلانے کی ضرورت ہے۔

باش اسکرپٹ کی ڈائرکٹری کا تعین کریں۔

باش اسکرپٹ کی مثال

# Method to get the directory of the script
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

# Print the directory
echo "The script is located in: $DIR"

# Change to the script's directory
cd "$DIR"

# Execute another application
./application

ورکنگ ڈائرکٹری کو اسکرپٹ کے مقام میں تبدیل کرنا

ازگر اسکرپٹ کی مثال

import os
import sys

def get_script_directory():
    return os.path.dirname(os.path.realpath(sys.argv[0]))

# Get the script's directory
script_dir = get_script_directory()

# Print the directory
print(f"The script is located in: {script_dir}")

# Change to the script's directory
os.chdir(script_dir)

# Execute another application
os.system("./application")

شیل اسکرپٹ میں اسکرپٹ کی ڈائرکٹری کا پتہ لگانا

ایڈوانسڈ باش اسکرپٹ کی مثال

#!/bin/bash

# Resolve the directory of the script
SCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)

# Print the resolved directory
echo "Script directory is: $SCRIPT_DIR"

# Move to the script's directory
cd "$SCRIPT_DIR"

# Example operation in script's directory
echo "Listing files in script directory:"
ls -al

# Launch another application from the script directory
./application

سکرپٹ ڈائرکٹری تلاش کرنے کے اضافی طریقے

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

استعمال کرنا readlink ڈائرکٹری کا تعین کرنے میں درستگی کو یقینی بناتے ہوئے اپنے حقیقی فائل پاتھ کے علامتی روابط کو حل کر سکتے ہیں۔ مثال کے طور پر، DIR="$(dirname "$(readlink -f "$0")")" اسکرپٹ کی ڈائرکٹری حاصل کرے گا یہاں تک کہ اگر یہ ایک سملنک ہے۔ ان طریقوں کو سمجھنا آپ کی اسکرپٹنگ ٹول کٹ کو وسیع کرتا ہے، جس سے زیادہ مضبوط اور قابل موافق اسکرپٹ تعیناتی کی اجازت ملتی ہے۔

عام سوالات اور جوابات

  1. میں باش میں اسکرپٹ کی ڈائرکٹری کیسے حاصل کرسکتا ہوں؟
  2. استعمال کریں۔ ${BASH_SOURCE[0]} کے ساتھ مل کر dirname اور pwd ڈائریکٹری تلاش کرنے کے لیے۔
  3. اسکرپٹ ڈائرکٹری کا تعین کیوں ضروری ہے؟
  4. یہ اس بات کو یقینی بناتا ہے کہ اسکرپٹ کے اندر کارروائیاں درست سیاق و سباق میں ہوں، خاص طور پر جب متعلقہ فائل کے راستوں سے نمٹ رہے ہوں۔
  5. کیا میں اسکرپٹ ڈائرکٹری تلاش کرنے کے لیے ماحولیاتی متغیرات استعمال کر سکتا ہوں؟
  6. جی ہاں، متغیرات پسند کرتے ہیں۔ $0 اور احکامات جیسے readlink اسکرپٹ کے مقام کا تعین کرنے میں مدد کر سکتا ہے۔
  7. کیا کرتا ہے readlink -f کیا؟
  8. یہ ان کی آخری منزل کے تمام علامتی روابط کو حل کرتا ہے، ایک مطلق راستہ فراہم کرتا ہے۔
  9. وہ کیسے sys.argv[0] Python اسکرپٹ میں کام کرتے ہیں؟
  10. اس میں اسکرپٹ کا نام ہوتا ہے جو Python اسکرپٹ کو شروع کرنے کے لیے استعمال ہوتا ہے، جو اسکرپٹ کی ڈائرکٹری کا تعین کرنے کے لیے مفید ہے۔
  11. ہے os.path.realpath() Python اسکرپٹ میں ضروری ہے؟
  12. ہاں، یہ مخصوص فائل نام کا کینونیکل پاتھ لوٹاتا ہے، جو مطلق راستے کا تعین کرنے میں مدد کرتا ہے۔
  13. کیا ان طریقوں کو اسکرپٹ کی دوسری زبانوں میں استعمال کیا جا سکتا ہے؟
  14. اگرچہ تفصیلات مختلف ہو سکتی ہیں، اسی طرح کے تصورات کو دوسری زبانوں میں اسکرپٹ کے مقامات کا تعین کرنے کے لیے لاگو کیا جا سکتا ہے۔

اسکرپٹ ڈائرکٹری کے مقام پر حتمی خیالات

اس ڈائریکٹری کو تلاش کرنا جہاں باش اسکرپٹ رہتا ہے اسکرپٹ کی وشوسنییتا اور درست فائل مینجمنٹ کے لیے ضروری ہے۔ جیسے کمانڈز کا استعمال کرکے ${BASH_SOURCE[0]}، dirname، اور pwd، آپ اس بات کو یقینی بنا سکتے ہیں کہ آپ کا اسکرپٹ اس کی مطلوبہ ڈائرکٹری میں کام کرتا ہے۔ یہ نقطہ نظر نہ صرف Bash میں موثر ہے بلکہ اسے استعمال کرتے ہوئے Python اسکرپٹ کے لیے بھی اپنایا جا سکتا ہے۔ os.path.realpath() اور sys.argv[0]. یہ تکنیکیں فائلوں کو منظم کرنے اور ایپلیکیشنز کو درست طریقے سے لانچ کرنے کے قابل مضبوط اسکرپٹس بنانے میں مدد کرتی ہیں، قطع نظر ان کے عملدرآمد کے ماحول سے۔