உங்கள் பாஷ் ஸ்கிரிப்ட் கோப்பகத்தைக் கண்டறிதல்
பல ஸ்கிரிப்டிங் காட்சிகளில், உங்கள் பாஷ் ஸ்கிரிப்ட் அமைந்துள்ள கோப்பகத்தை அறிந்து கொள்வது அவசியம். இந்த அறிவு ஸ்கிரிப்ட்டின் கோப்பகத்திற்கு செல்லவும் மற்றும் அதில் உள்ள கோப்புகளை திறம்பட இயக்கவும் உங்களை அனுமதிக்கிறது.
நீங்கள் உங்கள் ஸ்கிரிப்டைப் பயன்படுத்தி மற்றொரு பயன்பாட்டைத் தொடங்கினாலும் அல்லது குறிப்பிட்ட கோப்புகளில் செயல்பாடுகளைச் செய்தாலும், ஸ்கிரிப்ட்டின் கோப்பகத்தைக் கண்டறிவது மென்மையான மற்றும் கணிக்கக்கூடிய செயல்பாட்டை உறுதி செய்கிறது. இந்த பணியை எவ்வாறு நிறைவேற்றுவது என்பதை இந்த வழிகாட்டி விளக்குகிறது.
| கட்டளை | விளக்கம் |
|---|---|
| ${BASH_SOURCE[0]} | பாஷில் செயல்படுத்தப்படும் ஸ்கிரிப்ட்டின் முழுப் பாதையையும் குறிக்கிறது. |
| cd $(dirname ...) | தற்போதைய கோப்பகத்தை குறிப்பிட்ட கோப்பு அல்லது ஸ்கிரிப்ட்டின் மூல கோப்பகமாக மாற்றுகிறது. |
| pwd | தற்போதைய வேலை கோப்பகத்தை அச்சிடுகிறது. |
| realpath() | பைத்தானில் குறிப்பிடப்பட்ட கோப்பு பெயரின் நியமன பாதையை வழங்குகிறது. |
| sys.argv[0] | பைதான் ஸ்கிரிப்டை அழைக்க பயன்படுத்தப்பட்ட ஸ்கிரிப்ட் பெயரைக் கொண்டுள்ளது. |
| os.chdir() | தற்போதைய வேலை கோப்பகத்தை பைத்தானில் குறிப்பிட்ட பாதைக்கு மாற்றுகிறது. |
| 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 scriptDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"# Print the directoryecho "The script is located in: $DIR"# Change to the script's directorycd "$DIR"# Execute another application./application
வேலை செய்யும் கோப்பகத்தை ஸ்கிரிப்ட்டின் இருப்பிடத்திற்கு மாற்றுகிறது
பைதான் ஸ்கிரிப்ட் உதாரணம்
import osimport sysdef get_script_directory():return os.path.dirname(os.path.realpath(sys.argv[0]))# Get the script's directoryscript_dir = get_script_directory()# Print the directoryprint(f"The script is located in: {script_dir}")# Change to the script's directoryos.chdir(script_dir)# Execute another applicationos.system("./application")
ஷெல் ஸ்கிரிப்ட்டில் ஸ்கிரிப்ட்டின் கோப்பகத்தைக் கண்டறிதல்
மேம்பட்ட பாஷ் ஸ்கிரிப்ட் எடுத்துக்காட்டு
#!/bin/bash# Resolve the directory of the scriptSCRIPT_DIR=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)# Print the resolved directoryecho "Script directory is: $SCRIPT_DIR"# Move to the script's directorycd "$SCRIPT_DIR"# Example operation in script's directoryecho "Listing files in script directory:"ls -al# Launch another application from the script directory./application
ஸ்கிரிப்ட் கோப்பகத்தைக் கண்டறிவதற்கான கூடுதல் முறைகள்
ஸ்கிரிப்ட் இருக்கும் கோப்பகத்தைக் கண்டுபிடிப்பதற்கான மற்றொரு பயனுள்ள முறை சூழல் மாறிகளை மேம்படுத்துவதை உள்ளடக்கியது. சில அமைப்புகளில், தி $0 மாறி தற்போது இயங்கும் ஸ்கிரிப்ட்டுக்கான பாதையைக் கொண்டுள்ளது. போன்ற கட்டளைகளுடன் இதை இணைப்பதன் மூலம் dirname மற்றும் readlink, நீங்கள் ஸ்கிரிப்ட்டின் கோப்பகத்தை மிகவும் கையடக்க முறையில் தீர்மானிக்கலாம். ஸ்கிரிப்டுகள் வெவ்வேறு சூழல்களில் அல்லது சிம்லிங்க்கள் மூலம் செயல்படுத்தப்படும் போது இது மிகவும் பயனுள்ளதாக இருக்கும்.
பயன்படுத்தி readlink கோப்பகத்தை தீர்மானிப்பதில் துல்லியத்தை உறுதிசெய்து, அவற்றின் உண்மையான கோப்பு பாதைகளுக்கான குறியீட்டு இணைப்புகளை தீர்க்க முடியும். உதாரணமாக, DIR="$(dirname "$(readlink -f "$0")")" இது ஒரு சிம்லிங்காக இருந்தாலும் ஸ்கிரிப்ட்டின் கோப்பகத்தை வழங்கும். இந்த முறைகளைப் புரிந்துகொள்வது உங்கள் ஸ்கிரிப்டிங் கருவித்தொகுப்பை விரிவுபடுத்துகிறது, மேலும் வலுவான மற்றும் மாற்றியமைக்கக்கூடிய ஸ்கிரிப்ட் வரிசைப்படுத்தலை அனுமதிக்கிறது.
பொதுவான கேள்விகள் மற்றும் பதில்கள்
- பாஷில் ஸ்கிரிப்ட்டின் கோப்பகத்தை எப்படிப் பெறுவது?
- பயன்படுத்தவும் ${BASH_SOURCE[0]} உடன் இணைந்த dirname மற்றும் pwd அடைவை கண்டுபிடிக்க.
- ஸ்கிரிப்ட் கோப்பகத்தை தீர்மானிப்பது ஏன் முக்கியம்?
- ஸ்கிரிப்ட்டில் உள்ள செயல்பாடுகள் சரியான சூழலில் ஏற்படுவதை இது உறுதி செய்கிறது, குறிப்பாக தொடர்புடைய கோப்பு பாதைகளைக் கையாளும் போது.
- ஸ்கிரிப்ட் கோப்பகத்தைக் கண்டறிய சூழல் மாறிகளைப் பயன்படுத்தலாமா?
- ஆம், மாறிகள் போன்றவை $0 மற்றும் போன்ற கட்டளைகள் readlink ஸ்கிரிப்ட்டின் இருப்பிடத்தை தீர்மானிக்க உதவும்.
- என்ன செய்கிறது readlink -f செய்?
- இது அவர்களின் இறுதி இலக்குக்கான அனைத்து குறியீட்டு இணைப்புகளையும் தீர்க்கிறது, ஒரு முழுமையான பாதையை வழங்குகிறது.
- எப்படி செய்கிறது sys.argv[0] பைதான் ஸ்கிரிப்ட்களில் வேலை செய்கிறீர்களா?
- இது பைதான் ஸ்கிரிப்டைத் தூண்டுவதற்குப் பயன்படுத்தப்படும் ஸ்கிரிப்ட் பெயரைக் கொண்டுள்ளது, இது ஸ்கிரிப்ட்டின் கோப்பகத்தைத் தீர்மானிக்கப் பயன்படுகிறது.
- இருக்கிறது os.path.realpath() பைதான் ஸ்கிரிப்ட்களில் தேவையா?
- ஆம், இது குறிப்பிட்ட கோப்பு பெயரின் நியமன பாதையை வழங்குகிறது, இது முழுமையான பாதையை தீர்மானிக்க உதவுகிறது.
- இந்த முறைகளை மற்ற ஸ்கிரிப்டிங் மொழிகளில் பயன்படுத்த முடியுமா?
- பிரத்தியேகங்கள் வேறுபடலாம் என்றாலும், ஸ்கிரிப்ட் இருப்பிடங்களைத் தீர்மானிக்க இதே போன்ற கருத்துக்கள் பிற மொழிகளில் பயன்படுத்தப்படலாம்.
ஸ்கிரிப்ட் டைரக்டரி இருப்பிடம் பற்றிய இறுதி எண்ணங்கள்
ஸ்கிரிப்ட் நம்பகத்தன்மை மற்றும் சரியான கோப்பு மேலாண்மைக்கு பாஷ் ஸ்கிரிப்ட் இருக்கும் கோப்பகத்தைக் கண்டறிவது அவசியம். போன்ற கட்டளைகளைப் பயன்படுத்துவதன் மூலம் ${BASH_SOURCE[0]}, dirname, மற்றும் pwd, உங்கள் ஸ்கிரிப்ட் அதன் நோக்கம் கொண்ட கோப்பகத்தில் செயல்படுவதை உறுதிசெய்யலாம். இந்த அணுகுமுறை பாஷில் பயனுள்ளதாக இருப்பது மட்டுமல்லாமல், பைதான் ஸ்கிரிப்ட்களைப் பயன்படுத்தியும் மாற்றியமைக்க முடியும் os.path.realpath() மற்றும் sys.argv[0]. இந்த நுட்பங்கள் கோப்புகளை நிர்வகிக்கும் திறன் கொண்ட வலுவான ஸ்கிரிப்ட்களை உருவாக்க உதவுகின்றன மற்றும் அவற்றின் செயலாக்க சூழலைப் பொருட்படுத்தாமல் துல்லியமாக பயன்பாடுகளைத் தொடங்குகின்றன.