मार्गदर्शक: बॅश स्क्रिप्टची निर्देशिका मिळवा

मार्गदर्शक: बॅश स्क्रिप्टची निर्देशिका मिळवा
Bash Script

बॅश स्क्रिप्ट निर्देशिका पुनर्प्राप्ती समजून घेणे

बॅश स्क्रिप्ट्ससह काम करताना, स्क्रिप्ट कुठे आहे ते डिरेक्टरी जाणून घेणे आवश्यक असते. हे विविध कामांसाठी उपयुक्त ठरू शकते, जसे की कार्यरत निर्देशिका सेट करणे किंवा स्क्रिप्टच्या स्थानाशी संबंधित फाइल्समध्ये प्रवेश करणे.

या मार्गदर्शकामध्ये, स्क्रिप्टमधूनच बॅश स्क्रिप्टचा निर्देशिका मार्ग कसा पुनर्प्राप्त करायचा ते आम्ही एक्सप्लोर करू. हा दृष्टीकोन विशेषतः उपयुक्त आहे जेव्हा तुमची स्क्रिप्ट इतर अनुप्रयोगांसाठी लाँचर म्हणून कार्य करू इच्छित असेल, ती योग्य फाइल्सवर चालते याची खात्री करून.

आज्ञा वर्णन
readlink -f बॅश स्क्रिप्टचा परिपूर्ण मार्ग प्रदान करून, प्रतीकात्मक दुव्याचा पूर्ण मार्ग सोडवते.
dirname स्क्रिप्टची निर्देशिका निर्धारित करण्यासाठी वापरल्या जाणाऱ्या, दिलेल्या फाइल पाथमधून निर्देशिका पथ काढतो.
os.path.realpath(__file__) Python मधील कोणत्याही प्रतिकात्मक लिंक्सचे निराकरण करून, निर्दिष्ट केलेल्या फाइलचा प्रामाणिक मार्ग परत करतो.
os.chdir() Python मधील निर्दिष्ट मार्गावर वर्तमान कार्यरत निर्देशिका बदलते.
abs_path($0) पर्लमध्ये कार्यान्वित होत असलेल्या स्क्रिप्टचा परिपूर्ण मार्ग प्रदान करते.
chdir() पर्ल आणि PHP मधील निर्दिष्ट मार्गावर वर्तमान कार्यरत निर्देशिका बदलते.
system() पर्लमधील स्क्रिप्टमधून बाह्य कमांड कार्यान्वित करते.
exec() वर्तमान प्रक्रिया बदलून, PHP मधील स्क्रिप्टमधून बाह्य प्रोग्राम चालवते.

तपशीलवार स्क्रिप्ट स्पष्टीकरण

प्रदान केलेल्या स्क्रिप्ट्स त्या कोणत्या डिरेक्टरीमध्ये आहेत हे निर्धारित करण्यासाठी आणि कार्यरत डिरेक्टरी त्या मार्गावर बदलण्यासाठी डिझाइन केल्या आहेत. जेव्हा स्क्रिप्टला त्याच्या स्वतःच्या निर्देशिकेतील फायलींवर ऑपरेट करणे किंवा त्या स्थानावरून इतर अनुप्रयोग लॉन्च करणे आवश्यक असते तेव्हा हे उपयुक्त आहे. उदाहरणार्थ, बॅश स्क्रिप्टमध्ये, कमांड readlink -f स्क्रिप्टचा परिपूर्ण मार्ग मिळविण्यासाठी वापरला जातो, आणि त्या मार्गावरून निर्देशिका काढते. त्या नंतर cd कमांड वर्तमान कार्यरत निर्देशिकेला स्क्रिप्टच्या निर्देशिकेत बदलते, त्यानंतरच्या आदेश योग्य ठिकाणी कार्य करतात याची खात्री करून.

पायथन उदाहरणामध्ये, os.path.realpath(__file__) स्क्रिप्टचा परिपूर्ण मार्ग मिळतो, आणि os.chdir() कार्यरत निर्देशिका बदलते. पर्ल स्क्रिप्ट वापरते स्क्रिप्टचा निरपेक्ष मार्ग मिळवण्यासाठी आणि chdir() निर्देशिका बदलण्यासाठी. त्याचप्रमाणे, PHP स्क्रिप्ट वापरते स्क्रिप्टचा मार्ग शोधण्यासाठी आणि chdir() निर्देशिका बदलण्यासाठी. प्रत्येक स्क्रिप्ट स्क्रिप्टच्या निर्देशिकेच्या संदर्भात चालत असल्याची खात्री करून, अनुप्रयोग लाँच करण्याच्या आदेशासह समाप्त होते.

बॅश स्क्रिप्टची निर्देशिका निश्चित करणे

बॅश स्क्रिप्टचे उदाहरण

#!/bin/bash
# Get the directory of the script
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
echo "The script is located in: $SCRIPT_DIR"

# Change to the script's directory
cd "$SCRIPT_DIR" || exit

# Execute the application
./application

स्क्रिप्ट निर्देशिका पुनर्प्राप्तीसाठी पायथन पर्यायी

पायथन स्क्रिप्टचे उदाहरण

स्क्रिप्ट डिरेक्टरी निश्चित करण्यासाठी पर्ल स्क्रिप्ट

पर्ल स्क्रिप्टचे उदाहरण

#!/usr/bin/env perl
use Cwd 'abs_path';
use File::Basename;

# Get the directory of the script
$script_dir = dirname(abs_path($0));
print "The script is located in: $script_dir\n";

# Change to the script's directory
chdir $script_dir or die "Cannot change directory: $!";

# Execute the application
system('./application');

त्याची निर्देशिका शोधण्यासाठी PHP स्क्रिप्ट

PHP स्क्रिप्टचे उदाहरण

<?php
# Get the directory of the script
$script_dir = dirname(realpath(__FILE__));
echo "The script is located in: $script_dir\n";

# Change to the script's directory
chdir($script_dir);

# Execute the application
exec('./application');
?>

स्क्रिप्ट निर्देशिका निश्चित करण्यासाठी पर्यायी पद्धती

पूर्वी नमूद केलेल्या पद्धतींव्यतिरिक्त, बॅश स्क्रिप्टची निर्देशिका निश्चित करण्यासाठी इतर तंत्रे आहेत. अशी एक पद्धत म्हणजे पर्यावरणीय चल वापरणे. उदाहरणार्थ, द व्हेरिएबलमध्ये बॅश स्क्रिप्टचा फाईल पथ आहे, जो इतर स्क्रिप्ट्सद्वारे प्राप्त केलेल्या स्क्रिप्टसाठी उपयुक्त असू शकतो. दुसरा दृष्टीकोन म्हणजे कमांड-लाइन वितर्कांचा फायदा घेणे. चे विश्लेषण करून $0 पॅरामीटर, ज्यामध्ये स्क्रिप्टचे नाव आहे ज्यामध्ये स्क्रिप्ट कार्यान्वित केले जाते, आपण विविध संदर्भांमधून कार्यान्वित केल्यावर स्क्रिप्टचे स्थान निर्धारित करू शकता, जसे की प्रतीकात्मक दुवे किंवा स्त्रोत केलेल्या फाइल्स.

या पर्यायी पद्धती स्क्रिप्ट कोणत्या संदर्भामध्ये वापरल्या जातात त्यानुसार लवचिकता प्रदान करू शकतात. उदाहरणार्थ, प्रतिकात्मक दुव्यांसह व्यवहार करताना, readlink स्क्रिप्टचा खरा मार्ग सोडवण्यासाठी अनेकदा आवश्यक असते. या विविध तंत्रे समजून घेतल्याने तुमच्या स्क्रिप्ट मजबूत आणि विविध अंमलबजावणी वातावरणाशी जुळवून घेण्यायोग्य आहेत, त्यांची उपयुक्तता आणि विश्वासार्हता वाढवते.

सतत विचारले जाणारे प्रश्न

  1. वापरून स्क्रिप्टची निर्देशिका कशी मिळवायची ?
  2. तुम्ही वापरू शकता dirname "$(realpath "${BASH_SOURCE[0]}")" स्क्रिप्टची निर्देशिका मिळवण्यासाठी.
  3. यांच्यात काय फरक आहे $0 आणि ?
  4. $0 कार्यान्वित होत असलेल्या स्क्रिप्टचे नाव आहे, तर स्त्रोत केलेल्या स्क्रिप्टचा संपूर्ण मार्ग समाविष्ट आहे.
  5. मी वापरू शकतो readlink प्रतीकात्मक दुव्यांसह?
  6. होय, readlink -f प्रतीकात्मक दुव्याचा पूर्ण मार्ग सोडवते.
  7. काय os.chdir() Python मध्ये करू?
  8. os.chdir() वर्तमान कार्यरत निर्देशिका निर्दिष्ट मार्गावर बदलते.
  9. मला पर्लमधील स्क्रिप्टचा परिपूर्ण मार्ग कसा मिळेल?
  10. वापरत आहे Cwd मॉड्यूल मधून स्क्रिप्टचा परिपूर्ण मार्ग प्रदान करते.
  11. बाह्य प्रोग्राम कार्यान्वित करण्यासाठी PHP मध्ये कोणती कमांड वापरली जाते?
  12. exec() PHP मध्ये बाह्य प्रोग्राम चालविण्यासाठी वापरला जातो.
  13. मी PHP मध्ये निर्देशिका कशी बदलू?
  14. chdir() PHP मधील वर्तमान कार्यरत निर्देशिका बदलण्यासाठी वापरला जातो.
  15. का आहे स्क्रिप्ट मध्ये उपयुक्त?
  16. स्क्रिप्टची डिरेक्टरी शोधण्यात मदत करून, दिलेल्या फाईल पाथमधून निर्देशिका पथ काढतो.

स्क्रिप्ट निर्देशिका पुनर्प्राप्तीवरील अंतिम विचार

बॅश स्क्रिप्टची निर्देशिका निश्चित करणे हे स्क्रिप्टसाठी एक महत्त्वपूर्ण कार्य आहे ज्यांना स्थानिक फाइल्सवर ऑपरेट करणे किंवा अनुप्रयोग लाँच करणे आवश्यक आहे. सारख्या आज्ञा वापरून readlink, , आणि पर्यावरण व्हेरिएबल्सचा फायदा घेऊन, स्क्रिप्ट्स त्यांची कार्यरत निर्देशिका गतिशीलपणे समायोजित करू शकतात. ही सराव स्क्रिप्ट कोठून कार्यान्वित केली जाते याची पर्वा न करता स्क्रिप्ट योग्यरित्या कार्य करते याची खात्री करते. या पद्धती समजून घेणे आणि अंमलात आणणे आपल्या स्क्रिप्ट्सची लवचिकता आणि विश्वासार्हता वाढवते, त्यांना विविध अनुप्रयोग आणि वापर प्रकरणांसाठी अधिक कार्यक्षम बनवते.