வழிகாட்டி: ஒரு பாஷ் ஸ்கிரிப்ட்டின் கோப்பகத்தைப் பெறுங்கள்

வழிகாட்டி: ஒரு பாஷ் ஸ்கிரிப்ட்டின் கோப்பகத்தைப் பெறுங்கள்
Bash Script

பாஷ் ஸ்கிரிப்ட் டைரக்டரி மீட்டெடுப்பைப் புரிந்துகொள்வது

பாஷ் ஸ்கிரிப்ட்களுடன் பணிபுரியும் போது, ​​ஸ்கிரிப்ட் அமைந்துள்ள கோப்பகத்தை அறிந்து கொள்வது அவசியம். வேலை செய்யும் கோப்பகத்தை அமைப்பது அல்லது ஸ்கிரிப்ட்டின் இருப்பிடத்துடன் தொடர்புடைய கோப்புகளை அணுகுவது போன்ற பல்வேறு பணிகளுக்கு இது பயனுள்ளதாக இருக்கும்.

இந்த வழிகாட்டியில், பாஷ் ஸ்கிரிப்ட்டின் அடைவுப் பாதையை ஸ்கிரிப்ட்டிலிருந்தே எவ்வாறு மீட்டெடுப்பது என்பதை ஆராய்வோம். உங்கள் ஸ்கிரிப்ட் பிற பயன்பாடுகளுக்கான துவக்கியாக செயல்பட வேண்டும் என்று நீங்கள் விரும்பினால், இது சரியான கோப்புகளில் செயல்படுவதை உறுதிசெய்யும் போது இந்த அணுகுமுறை மிகவும் பயனுள்ளதாக இருக்கும்.

கட்டளை விளக்கம்
readlink -f பாஷ் ஸ்கிரிப்ட்டின் முழுமையான பாதையை வழங்கும் குறியீட்டு இணைப்பின் முழு பாதையையும் தீர்க்கிறது.
dirname ஸ்கிரிப்ட்டின் கோப்பகத்தைத் தீர்மானிக்கப் பயன்படும், கொடுக்கப்பட்ட கோப்பு பாதையிலிருந்து அடைவுப் பாதையைப் பிரித்தெடுக்கிறது.
os.path.realpath(__file__) பைத்தானில் ஏதேனும் குறியீட்டு இணைப்புகளைத் தீர்த்து, குறிப்பிட்ட கோப்பின் நியமன பாதையை வழங்குகிறது.
os.chdir() தற்போதைய வேலை கோப்பகத்தை பைத்தானில் குறிப்பிட்ட பாதைக்கு மாற்றுகிறது.
abs_path($0) Perl இல் செயல்படுத்தப்படும் ஸ்கிரிப்ட்டின் முழுமையான பாதையை வழங்குகிறது.
chdir() தற்போதைய செயல்பாட்டு கோப்பகத்தை Perl மற்றும் PHP இல் குறிப்பிட்ட பாதைக்கு மாற்றுகிறது.
system() பெர்லில் உள்ள ஒரு ஸ்கிரிப்ட்டில் இருந்து வெளிப்புற கட்டளையை இயக்குகிறது.
exec() PHP இல் உள்ள ஒரு ஸ்கிரிப்டில் இருந்து வெளிப்புற நிரலை இயக்குகிறது, தற்போதைய செயல்முறையை மாற்றுகிறது.

விரிவான ஸ்கிரிப்ட் விளக்கம்

வழங்கப்பட்ட ஸ்கிரிப்டுகள் அவை அமைந்துள்ள கோப்பகத்தைத் தீர்மானிக்கவும், வேலை செய்யும் கோப்பகத்தை அந்தப் பாதைக்கு மாற்றவும் வடிவமைக்கப்பட்டுள்ளன. ஒரு ஸ்கிரிப்ட் அதன் சொந்த கோப்பகத்தில் உள்ள கோப்புகளில் செயல்பட வேண்டும் அல்லது அந்த இடத்திலிருந்து பிற பயன்பாடுகளைத் தொடங்க வேண்டும் என்றால் இது பயனுள்ளதாக இருக்கும். உதாரணமாக, பாஷ் ஸ்கிரிப்ட்டில், கட்டளை readlink -f ஸ்கிரிப்ட்டின் முழுமையான பாதையைப் பெற பயன்படுகிறது, மற்றும் dirname அந்த பாதையில் இருந்து கோப்பகத்தை பிரித்தெடுக்கிறது. பின்னர், தி cd கட்டளை தற்போதைய வேலை கோப்பகத்தை ஸ்கிரிப்ட்டின் கோப்பகத்திற்கு மாற்றுகிறது, அடுத்தடுத்த கட்டளைகள் சரியான இடத்தில் செயல்படுவதை உறுதி செய்கிறது.

பைதான் உதாரணத்தில், os.path.realpath(__file__) ஸ்கிரிப்ட்டின் முழுமையான பாதையைப் பெறுகிறது, மற்றும் os.chdir() வேலை செய்யும் கோப்பகத்தை மாற்றுகிறது. பெர்ல் ஸ்கிரிப்ட் பயன்படுத்துகிறது abs_path($0) ஸ்கிரிப்ட்டின் முழுமையான பாதையைப் பெற மற்றும் chdir() அடைவுகளை மாற்ற. இதேபோல், PHP ஸ்கிரிப்ட் பயன்படுத்துகிறது realpath(__FILE__) ஸ்கிரிப்ட்டின் பாதையை கண்டறிய மற்றும் 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 python3
import os
import sys

# Get the directory of the script
script_dir = os.path.dirname(os.path.realpath(__file__))
print(f"The script is located in: {script_dir}")

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

# Execute the application
os.system('./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');
?>

ஸ்கிரிப்ட் டைரக்டரியை தீர்மானிப்பதற்கான மாற்று முறைகள்

முன்பு குறிப்பிடப்பட்ட முறைகளைத் தவிர, பாஷ் ஸ்கிரிப்ட்டின் கோப்பகத்தைத் தீர்மானிக்க மற்ற நுட்பங்களும் உள்ளன. சூழல் மாறிகளைப் பயன்படுத்துவது அத்தகைய ஒரு முறை. உதாரணமாக, தி $BASH_SOURCE மாறியில் பாஷ் ஸ்கிரிப்ட்டின் கோப்பு பாதை உள்ளது, இது மற்ற ஸ்கிரிப்ட்களால் பெறப்பட்ட ஸ்கிரிப்டுகளுக்கு பயனுள்ளதாக இருக்கும். மற்றொரு அணுகுமுறை கட்டளை வரி வாதங்களை மேம்படுத்துவதாகும். பகுப்பாய்வு செய்வதன் மூலம் $0 செயல்படுத்தப்படும் ஸ்கிரிப்ட்டின் பெயரைக் கொண்டிருக்கும் அளவுரு, குறியீட்டு இணைப்புகள் அல்லது மூலக் கோப்புகள் போன்ற பல்வேறு சூழல்களில் இருந்து செயல்படுத்தப்படும் போது ஸ்கிரிப்ட்டின் இருப்பிடத்தை நீங்கள் தீர்மானிக்கலாம்.

இந்த மாற்று முறைகள் ஸ்கிரிப்ட் பயன்படுத்தப்படும் சூழலைப் பொறுத்து நெகிழ்வுத்தன்மையை வழங்க முடியும். உதாரணமாக, குறியீட்டு இணைப்புகளைக் கையாளும் போது, readlink ஸ்கிரிப்ட்டின் உண்மையான பாதையைத் தீர்க்க பெரும்பாலும் அவசியம். இந்த வெவ்வேறு நுட்பங்களைப் புரிந்துகொள்வது, உங்கள் ஸ்கிரிப்ட்கள் பலமானதாகவும், பல்வேறு செயல்படுத்தும் சூழல்களுக்கு ஏற்றதாகவும், அவற்றின் பயன்பாடு மற்றும் நம்பகத்தன்மையை மேம்படுத்துவதையும் உறுதி செய்கிறது.

அடிக்கடி கேட்கப்படும் கேள்விகள்

  1. ஒரு ஸ்கிரிப்ட்டின் கோப்பகத்தைப் பயன்படுத்தி நான் எவ்வாறு பெறுவது $BASH_SOURCE?
  2. நீங்கள் பயன்படுத்தலாம் dirname "$(realpath "${BASH_SOURCE[0]}")" ஸ்கிரிப்ட்டின் கோப்பகத்தைப் பெற.
  3. என்ன வித்தியாசம் $0 மற்றும் $BASH_SOURCE?
  4. $0 செயல்படுத்தப்படும் ஸ்கிரிப்ட்டின் பெயர் $BASH_SOURCE மூல ஸ்கிரிப்ட்டின் முழு பாதையையும் கொண்டுள்ளது.
  5. நான் பயன்படுத்தி கொள்ளலாமா readlink குறியீட்டு இணைப்புகளுடன்?
  6. ஆம், readlink -f குறியீட்டு இணைப்பின் முழு பாதையையும் தீர்க்கிறது.
  7. என்ன செய்கிறது os.chdir() பைத்தானில் செய்யவா?
  8. os.chdir() தற்போதைய வேலை கோப்பகத்தை குறிப்பிட்ட பாதைக்கு மாற்றுகிறது.
  9. பெர்லில் ஸ்கிரிப்ட்டின் முழுமையான பாதையை நான் எவ்வாறு பெறுவது?
  10. பயன்படுத்தி abs_path($0) Cwd தொகுதியிலிருந்து ஸ்கிரிப்ட்டின் முழுமையான பாதையை வழங்குகிறது.
  11. வெளிப்புற நிரலை இயக்க PHP இல் என்ன கட்டளை பயன்படுத்தப்படுகிறது?
  12. exec() PHP இல் வெளிப்புற நிரலை இயக்க பயன்படுகிறது.
  13. PHP இல் கோப்பகத்தை எவ்வாறு மாற்றுவது?
  14. chdir() PHP இல் தற்போதைய வேலை கோப்பகத்தை மாற்ற பயன்படுகிறது.
  15. ஏன் dirname ஸ்கிரிப்ட்களில் பயனுள்ளதா?
  16. dirname கொடுக்கப்பட்ட கோப்பு பாதையில் இருந்து அடைவு பாதையை பிரித்தெடுக்கிறது, இது ஸ்கிரிப்ட்டின் கோப்பகத்தைக் கண்டறிய உதவுகிறது.

ஸ்கிரிப்ட் டைரக்டரி மீட்டெடுப்பு பற்றிய இறுதி எண்ணங்கள்

பாஷ் ஸ்கிரிப்ட்டின் கோப்பகத்தைத் தீர்மானிப்பது உள்ளூர் கோப்புகள் அல்லது பயன்பாடுகளைத் தொடங்க வேண்டிய ஸ்கிரிப்ட்களுக்கு முக்கியமான பணியாகும். போன்ற கட்டளைகளைப் பயன்படுத்துவதன் மூலம் readlink, dirname, மற்றும் சுற்றுச்சூழல் மாறிகளை மேம்படுத்துவதன் மூலம், ஸ்கிரிப்ட்கள் அவற்றின் செயல்பாட்டு கோப்பகத்தை மாறும் வகையில் சரிசெய்யலாம். இந்த நடைமுறையானது ஸ்கிரிப்ட் எங்கிருந்து செயல்படுத்தப்பட்டாலும் சரியாக இயங்குவதை உறுதி செய்கிறது. இந்த முறைகளைப் புரிந்துகொள்வதும் செயல்படுத்துவதும் உங்கள் ஸ்கிரிப்ட்களின் நெகிழ்வுத்தன்மையையும் நம்பகத்தன்மையையும் மேம்படுத்துகிறது, மேலும் அவை பல்வேறு பயன்பாடுகள் மற்றும் பயன்பாட்டு நிகழ்வுகளுக்கு மிகவும் பயனுள்ளதாக இருக்கும்.