ஷெல் ஸ்கிரிப்டில் $ () மற்றும் $ {} விரிவாக்கங்களை எவ்வாறு பயன்படுத்துவது

How Use Expansions Shell Script



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

இந்த டுடோரியலில், ஷெல் ஸ்கிரிப்டுகளில் பயன்படுத்தப்படும் மிகவும் பயனுள்ள இரண்டு பேஷ் விரிவாக்கங்களை நாங்கள் விளக்குவோம்:







  • $ () - கட்டளை மாற்று
  • $ {} - அளவுரு மாற்று/மாறி விரிவாக்கம்

டோக்கன்களாகப் பிரித்த பிறகு ஷெல்லில் விரிவாக்கம் ஸ்கிரிப்டில் செய்யப்படுகிறது. டோக்கன் என்பது ஷெல் மூலம் ஒற்றை அலகு என்று கருதப்படும் எழுத்துக்களின் வரிசை. இது ஒரு சொல் அல்லது ஆபரேட்டராக இருக்கலாம்.



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







பயன்பாட்டு துவக்கியை அணுக, உங்கள் விசைப்பலகையில் சூப்பர்/விண்டோஸ் விசையை அழுத்தவும்.

$ () கட்டளை மாற்று

அதிகாரப்பூர்வ GNU பாஷ் குறிப்பு கையேட்டின் படி:



கட்டளை மாற்றீடு ஒரு கட்டளையின் வெளியீட்டை கட்டளையை மாற்ற அனுமதிக்கிறது. கட்டளையை செயல்படுத்துவதன் மூலமும் கட்டளை மாற்றீட்டை மாற்றுவதன் மூலமும் கட்டளையின் நிலையான வெளியீட்டை மாற்றுவதன் மூலம் பாஷ் விரிவாக்கத்தை செய்கிறது. உட்பொதிக்கப்பட்ட புதிய கோடுகள் நீக்கப்படவில்லை, ஆனால் அவை வார்த்தைப் பிரிவின் போது அகற்றப்படலாம். ஒரு கட்டளை பின்வருமாறு இணைக்கப்படும்போது கட்டளை மாற்றீடு ஏற்படுகிறது:

$(கட்டளை)
அல்லது
'கட்டளை'

எடுத்துக்காட்டாக, பின்வரும் எதிரொலி கட்டளைகள் தேதி கட்டளையின் வெளியீட்டை அவற்றின் உள்ளீடாக மாற்றுகின்றன:

$வெளியே எறிந்தார்$(தேதி)
$வெளியே எறிந்தார்'தேதி'

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

$இன்று= $(தேதி)
$வெளியே எறிந்தார் '$ இன்று'

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

க்கானஎஃப்இல் /வீடு/உனக்கு/ *.txt
செய்
வெளியே எறிந்தார் '$ எஃப்'
முடிந்தது

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

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

#!/பின்/sh

வெளியே எறிந்தார் ***நிலை அறிக்கை***

இன்று= $(தேதி)
வெளியே எறிந்தார் 'இன்று$ இன்று'

பயனர்கள்= $(who | wc-தி)
வெளியே எறிந்தார் '$ USERSபயனர்கள் தற்போது உள்நுழைந்துள்ளனர் '

முடிந்தநேரம்= $(தேதி;முடிந்தநேரம்)
வெளியே எறிந்தார் 'நேரம் ஆகிறது$ UPTIME'

கட்டளை மாற்று இந்த ஸ்கிரிப்டில் மூன்று முறை பயன்படுத்தப்படுகிறது; தேதியை அச்சிடுவதில், பயனர்கள் உள்நுழைந்தது மற்றும் நேரம். நாங்கள் ஸ்கிரிப்டை பின்வருமாறு சேமித்தோம்:

அதை இயக்கக்கூடியதாக ஆக்கி பின் பின்வரும் கட்டளை மூலம் இயக்கவும்:

$chmod+ x status.sh
$./statys.sh

எங்கள் status.sh ஸ்கிரிப்டின் வெளியீடு இங்கே:

நிச்சயமாக, நாங்கள் குறிப்பிட்ட உதாரணங்களைப் பின்பற்றுவதன் மூலம் நீங்கள் மிகவும் அர்த்தமுள்ள ஸ்கிரிப்ட்களை உருவாக்கலாம்.

$ {} அளவுரு மாற்று/விரிவாக்கம்

ஒரு அளவுரு, பாஷில், மதிப்புகளைச் சேமிக்கப் பயன்படுத்தப்படும் ஒரு நிறுவனம். ஒரு அளவுருவை ஒரு எண், பெயர் அல்லது சிறப்பு சின்னம் மூலம் குறிப்பிடலாம். ஒரு அளவுரு ஒரு எண்ணால் குறிப்பிடப்படும்போது, ​​அது a எனப்படும் நிலை அளவுரு . ஒரு அளவுரு பெயரால் குறிப்பிடப்படும் போது, ​​அது அழைக்கப்படுகிறது மாறி . ஒரு அளவுருவை ஒரு சிறப்பு குறியீட்டால் குறிப்பிடும்போது, ​​அவை சிறப்பு பயன்பாடுகளுடன் கூடிய தானியங்கி அளவுருக்கள் என்று அர்த்தம்.

அளவுரு விரிவாக்கம்/மாற்று குறிப்பிடப்பட்ட நிறுவனம்/அளவுருவில் இருந்து மதிப்பைப் பெறுவதற்கான செயல்முறை ஆகும். அதன் மதிப்பைப் பெற நீங்கள் ஒரு மாறியை விரிவாக்குவது போல் உள்ளது.

எளிமையான சாத்தியமான அளவுரு விரிவாக்க தொடரியல் பின்வருமாறு:

பாஷில் அளவுரு விரிவாக்கத்தை நீங்கள் எவ்வாறு பயன்படுத்தலாம் என்பது இங்கே:

$ {அளவுரு}

எடுத்துக்காட்டாக, அளவுருவை அதன் மதிப்பின் மூலம் மாற்றுவது எளிமையான பயன்பாடு:

$பெயர்='ஜான் டோ'
$வெளியே எறிந்தார் $ {name}

இந்த கட்டளை எதிரொலி கட்டளையால் பயன்படுத்தப்படும் மாறி பெயரின் மதிப்பை மாற்றும்:

சுருள் பிரேஸ்களை பின்வருமாறு தவிர்ப்பதன் மூலம் இதை அடைய முடியும் என்று நீங்கள் நினைக்கலாம்:

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

$வெளியே எறிந்தார் அந்த நபரின் பெயர்$ name_'

நான் மாறி பெயர்_ ஐ குறிப்பிடுகிறேன் என்று கணினி நினைத்ததால், முடிவு மாறி பெயரின் மதிப்பை அச்சிடவில்லை. இதனால், என் மாறி பெயர் பிரிக்கப்படவில்லை. பின்வரும் எடுத்துக்காட்டில் உள்ள சுருள் பிரேஸ்கள் மாறி பெயரை வரையறுத்து பின்வருமாறு முடிவுகளை அளிக்கும்:

$வெளியே எறிந்தார் அந்த நபரின் பெயர்$ {name}_ '

ஷெல்லில் மாறிகள் மாற்றுவதற்கான அனைத்து வழிகளும் இங்கே:

$ {variable} இந்த கட்டளை மாறி மதிப்பை மாற்றுகிறது.
$ {variable: -word} ஒரு மாறி பூஜ்யமாக இருந்தால் அல்லது அது அமைக்கப்படாவிட்டால், சொல் மாறிக்கு மாற்றாக இருக்கும். மாறியின் மதிப்பு மாறாது.
$ {variable: = word} ஒரு மாறி பூஜ்யமாக இருந்தால் அல்லது அது அமைக்கப்படாவிட்டால், மாறியின் மதிப்பு வார்த்தையாக அமைக்கப்படும்.
$ {மாறி:? செய்தி} ஒரு மாறி பூஜ்யமாக இருந்தால் அல்லது அது அமைக்கப்படாவிட்டால், செய்தி நிலையான பாஷ் பிழையில் அச்சிடப்படுகிறது.
$ {மாறி:+வார்த்தை} என்றால் மாறி அமைக்கப்பட்டுள்ளது, சொல் மாறிக்கு மாற்றாக உள்ளது. இருப்பினும், மாறியின் மதிப்பு மாறாது.

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