சில நேரங்களில், சில பயிற்சிகள் சற்றே கவர்ச்சியான மற்றும் விசித்திரமான கட்டளைகளை விளக்கும் நோக்கில் உள்ளன, மறுபுறம், தொடர் விநியோகங்களை உள்ளடக்கிய சில உள்ளன மற்றும் அவை சிடி, எல்எஸ், பூனை போன்ற பிரபலமாக இல்லை, ஆனால் அவை நடைமுறைக்குரியவை. இந்த இரண்டு கட்டளைகளால் என்ன செய்ய முடியும் என்பதை இந்த டுடோரியலில் காண்பிப்பேன்: அடிப்படை பெயர் மற்றும் சொல்லுங்கள்.
ஒரு ப்ரியோரி அவர்கள் உங்களுக்கு அபத்தமாகத் தெரிகிறது, அவர்களுக்கு எந்தப் பயனும் இல்லை, ஆனால் அவை உள்ளன அழகான நடைமுறை பயன்பாடுகள் சில சந்தர்ப்பங்களில், எடுத்துக்காட்டாக, ஸ்கிரிப்ட்களில் நீங்கள் ஒரு பாதையின் சில பகுதியை பிரித்தெடுக்க வேண்டும், அதாவது கோப்பின் பெயர் அல்லது கோப்பகம் போன்றவை, இதனால் மற்றொரு கட்டளை செயல்படுகிறது ...
அவை எதற்காக
இந்த கட்டளைகள் மிகவும் அடிப்படை, மற்றும் அதன் செயல்பாடுகள் அவை:
- அடிப்படை பெயர்: ஒரு பாதையிலிருந்து கோப்பின் பெயரைப் பிரித்தெடுக்கப் பயன்படுகிறது.
- பெயர்: ஒரு பாதையிலிருந்து அடைவு பெயரைப் பிரித்தெடுக்கப் பயன்படுகிறது.
பயன்பாட்டு எடுத்துக்காட்டுகள்
இங்கே நீங்கள் சிலவற்றைக் காணலாம் எடுத்துக்காட்டுகள் அவற்றை எவ்வாறு பயன்படுத்துவது:
- உதாரணமாக, பயன்படுத்த அடிப்படை பெயர் / etc / passwd உடன், மற்றும் கோப்பின் பெயரை அதன் வெளியீட்டில் தருகிறது, இந்த விஷயத்தில் passwd:
basename /etc/passwd
- நீங்கள் குறிப்பிடலாம் ஒரு நீட்டிப்பு அது நீட்டிப்பு இல்லாமல் கோப்பின் பெயரை உங்களுக்கு வழங்குகிறது. எடுத்துக்காட்டாக, jpg நீட்டிப்பு இல்லாமல் ஒரு படத்தின் பெயரை /home/media/test.jpg பிரித்தெடுக்க விரும்புகிறீர்கள் என்று வைத்துக்கொள்வோம் (அது திரும்பும் சோதனை):
basename -s .jpg /home/media/prueba.jpg
- நீங்கள் கூட முடியும் ஒரே நேரத்தில் பல வழிகளை செயலாக்கவும் தனித்தனியாக, இதற்காக நீங்கள் -a விருப்பத்தைப் பயன்படுத்த வேண்டும்:
basename -a /etc/passwd /var/log/boot.log
- இதற்கு நேர்மாறாகச் செய்ய, கோப்பின் பெயர் இல்லாமல், கோப்பகத்தின் பெயரைக் கொடுக்க, நீங்கள் பயன்படுத்த வேண்டும் பெயர். எடுத்துக்காட்டாக, நீங்கள் அதை /var/spool/mail/test.txt பாதையில் பயன்படுத்த விரும்பினால், அது / var / spool / mail ஐ திரும்பப் பெற விரும்பினால், இதைப் பயன்படுத்தவும்:
dirname /var/spool/mail/prueba.txt
ஒரு ஸ்கிரிப்டில் பயன்பாடு, இங்கே உங்களுக்கு மற்றொரு உதாரணம் உள்ளது. உங்களிடம் ஒரு எளிய ஸ்கிரிப்ட் இருப்பதாக கற்பனை செய்து பாருங்கள், அதில் மாறக்கூடிய ஒரு பாதை உள்ளது. ஆனால் கோப்பைப் பொருட்படுத்தாமல் ஒரு கோப்பைக் கொண்ட கோப்பகத்தைக் காட்ட வேண்டும் என்று நீங்கள் விரும்புகிறீர்கள், அந்த விஷயத்தில் நீங்கள் இதைப் போன்ற ஏதாவது ஒன்றைக் கொண்டிருக்கலாம்:
pathname="/home/usuario/data/fichero" result=$(dirname "$pathname") echo $result
வெளிப்படையாக, இந்த ஸ்கிரிப்டில் "பாதை பெயர்" எப்போதும் தொடக்கத்தில் மாறிலியால் அறிவிக்கப்பட்ட அதே நிலையானதாக இருக்கும், ஆனால் அது இல்லாத சந்தர்ப்பங்கள் இருக்கலாம், அதுதான் அது நடைமுறைக்கு மாறுகிறது. உதாரணமாக:
/*script para convertir una imagen gif en png*/ #!/bin/sh for file in *.gif;do #Salir si no hay ficheros if [! -f $file];then exit fi b='basename $file .gif' echo NOW $b.gif is $b.png giftopnm $b.gif | pnmtopng >$b.png done
அந்த விஷயங்களுக்கு ஒரு சிறந்த எடுத்துக்காட்டு, நீங்கள் கற்றுக் கொள்ளும்போது பயனற்றதாகக் காணப்படுகிறீர்கள், ஆனால் நீங்கள் பாடத்திற்கு வரும்போது அவை எவ்வளவு நடைமுறைக்குரியவை என்பதைக் காணலாம்.