Friday, April 9, 2010

இரண்டு எண்களை கூட்டுவதற்கு ஷெல் நிரல் எழுதுவோமா

முனையத்தை (Terminal) திறந்துக்கொள்ளுங்கள்.ஒரு நிரலை எழுத வேண்டுமானால் ஏதாவதொரு Editor வேண்டும்.நாம் இங்கு nano எடிட்டரை பயன்படுத்தப்போகிறோம்.ஆகையால் முனையத்தில் nano add.sh என்று கொடுத்து Enter key யினை அழுத்துங்கள்.அழுத்தியவுடன் nano Editor திறக்கப்பட்டு விடும்.திறந்தவுடன் படம்-2 உள்ளது போன்ற நிரலை அமையுங்கள்.நிரலை தட்டச்சு செய்ய படம்-2 ஐ பெரிதுபடுத்தி பார்த்து அதில் இருப்பது நிரலை தட்டச்சு செய்து கொள்ளுங்கள்.
படம்-2
நிரலை தட்டச்சு செய்து முடித்தவுடன் Ctrl+O கொடுத்து Enter key யினை அழுத்தி நிரலை சேமியுங்கள்.நிரலை சேமித்தவுடன் nano Editor ஐ விட்டு வெளியேற Ctrl+X key யினை ஒரு சேர அழுத்துங்கள்.
படம்-3
நிரலை இயக்க முனையத்தில் sh add.sh என்று கொடுத்து Enter key யினை அழுத்துங்கள.
நிரல் இயங்க ஆரம்பிக்கும்.

Enter a value : என்று கேட்கும் a யினுடைய மதிப்பினை உள்ளிட்டு Enter key யினை அழுத்துங்கள்.அடுத்து
Enter b value : என்று கேட்கும் b யினுடைய மதிப்பினை உள்ளிட்டு Enter key யினை அழுத்துங்கள்.
அழுத்தியவுடன் a,b இவ்ற்றின் மதிப்பினை கூட்டி உங்களுக்கு விடையாக கொடுக்கும்.
படம்-3 னை பெரிது படுத்தி பார்த்துக்கொள்ளுங்கள்.

இந்த நிரலில் பயன்படுத்தியிருக்கும் read a, read b என்பவைகள் நாம் கொடுக்கு a,b யினுடைய மதிப்பினை உள்ளிடாக பெறுவதற்காக உள்ளது.

$a, $b, $c என்பது a,b,c யினுடைய மதிப்புகளைப் பிரதி செய்யும்.அதாவது அங்கு assign செய்யும்.நிரலைப் பார்ப்பதற்கு படம்-2 ஐ பெரிதுபடுத்திப் பார்த்துக்கொள்ளுங்கள்.நிரலில் இடைவெளி விட்டிருக்கும் இடங்களில் கண்டிப்பாக இடைவெளி விட்டிருக்க வேண்டும்.
குறிப்பு:
c=`expr $a + $b` என்பதில் பயன்படுத்தியிருக்கும் ` குறியீடானது " னுடன் சேர்ந்து இருக்கும் ' குறியீடு அல்ல ~ சேர்ந்து இருக்கும் ` குறியீடு.

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

நிரலில் c=`expr $a + $b` என்ற வரியில் + என்பதற்கு பதிலா

-
என்று கொடுத்தால் கழித்தல் வேலையினை செய்யும்.
/
என்று கொடுத்தால் வகுத்தல் வேலையினை செய்யும்.
\*
என்று கொடுத்தால் பெருக்கல் வேலையினை செய்யும்.

4 comments:

R said...

THAN YOU,
முனையம் என்றால்
TERMINAL,

KATHIRVEL said...

//R said...
THAN YOU,
முனையம் என்றால்
TERMINAL,//

நன்றி R

பா.வேல்முருகன் said...

தளத்திற்கு வந்தமைக்கு நன்றி திரு கதிர்வேல்.

லினக்சில் நிறைய சந்தேகம் இருக்கிறது. உங்களிடம் அவ்வப்போது கேட்டு தெரிந்து கொள்கிறேன். எனக்கு கொஞ்சம் உதவுங்கள்.

நன்றி.

KATHIRVEL said...

//பா.வேல்முருகன் said...

தளத்திற்கு வந்தமைக்கு நன்றி திரு கதிர்வேல்.

லினக்சில் நிறைய சந்தேகம் இருக்கிறது. உங்களிடம் அவ்வப்போது கேட்டு தெரிந்து கொள்கிறேன். எனக்கு கொஞ்சம் உதவுங்கள்.

நன்றி.//

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