ബാഷ് ഉപയോഗിച്ചു് ഷെൽ സ്ക്രിപ്റ്റുകൾ എങ്ങനെയാണ് സൃഷ്ടിക്കുന്നതെന്നതിൽ ധാരാളം വഴികാട്ടികൾ ഉണ്ട്. ഈ ഗൈഡ് അല്പം വ്യത്യസ്ത സ്പിൻ നൽകാൻ ഉദ്ദേശിക്കുന്നു, കാരണം അത് വളരെ ചുരുങ്ങിയ ഷെൽ സ്ക്രിപ്റ്റിംഗ് അനുഭവമുള്ള ഒരാൾ എഴുതിയതാണ്.
ഇപ്പോൾ ഇത് ഒരു വിചിത്രമായ ആശയമാണെന്ന് നിങ്ങൾ ചിന്തിച്ചേക്കാം, നിങ്ങൾ ഇതിനകം ഒരു വിദഗ്ദ്ധനാണെന്നും മറ്റ് ഗൈഡുകളുടേത് മുറിച്ചുമാറ്റാൻ ഏറെ സമയമെടുക്കുന്നതുപോലെ ചില ഗൈഡുകൾ നിങ്ങളോട് സംസാരിക്കുന്നതായി ഞാൻ കാണുന്നു.
എന്റെ LINUX / UNIX ഷെൽ സ്ക്രിപ്റ്റിങ്ങിന്റെ അനുഭവം പരിമിതമാണ്, ഞാൻ ട്രേഡ് ചെയ്ത് ഒരു സോഫ്റ്റ്വെയർ ഡവലപ്പർ ആണ്, കൂടാതെ പിറൾ, പി.എച്ച്.പി, വി.ബി.
ഈ ഗൈഡിന്റെ പോയിന്റ് ഞാൻ മനസിലാക്കിയാൽ നിങ്ങൾ പഠിക്കും, ഞാൻ എടുക്കുന്ന വിവരവും ഞാൻ നിങ്ങൾക്ക് അയയ്ക്കും.
ആമുഖം
പല തരത്തിലുള്ള ഷെല്ലുകളും KSH, CSH എന്നിവയിൽ ബാഷ് ഉപയോഗിക്കുന്നതിന്റെ ഗുണങ്ങളും വിവരിക്കുന്നതു പോലെയുള്ള ഒരുപാട് സിദ്ധാന്തങ്ങൾ നിങ്ങൾക്ക് നേരിടാം.
പലരും പുതിയ എന്തെങ്കിലും പഠിക്കുമ്പോൾ ആദ്യം ചില പ്രായോഗിക പാഠങ്ങളോടൊപ്പം ആരംഭിക്കാനും മനസ്സിനെ മനസിലാക്കാനും ഞാൻ ആഗ്രഹിക്കുന്നു. ഇപ്പോൾ പ്രധാനമല്ലാത്തതിനാൽ ഞാൻ നിസ്സഹായനാവാൻ പോകുന്നില്ല.
ഈ ഗൈഡിനെ പിന്തുടരുന്നതിന് നിങ്ങൾക്കാവശ്യമുള്ളത് ഒരു ടെക്സ്റ്റ് എഡിറ്ററാണ് കൂടാതെ ഒരു ടെർമിനൽ പ്രവർത്തിക്കുന്ന BASH (മിക്ക ലിനക്സ് വിതരണങ്ങളിൽ സ്ഥിര ഷെല്ലും) ആണ്.
ടെക്സ്റ്റ് എഡിറ്ററുകൾ
ഞാൻ വായിച്ച മറ്റ് മാർഗ്ഗനിർദ്ദേശങ്ങൾ നിങ്ങൾക്ക് ഒരു ടെക്സ്റ്റ് എഡിറ്റർ നിർദ്ദേശിച്ചിട്ടുണ്ടായിരുന്നു, ഇതിൽ കമാൻഡുകളുടെ വർക്ക് കോഡിങ്, ശുപാർശചെയ്ത എഡിറ്റർമാർ എന്നിവ VIM അല്ലെങ്കിൽ EMACS ഉണ്ട് .
നിങ്ങൾ ടൈപ്പുചെയ്യുന്നതിനനുസരിച്ച് കമാൻഡുകൾ ഉയർത്തിക്കാട്ടുന്നതിനാലാണ് കളർ കോഡിംഗ് നല്ലത്, എന്നാൽ ആധുനിക തുടക്കക്കാർക്ക് നിങ്ങൾ ഒരു കോഡിന്റെ വരികൾ എഴുതിയില്ലെങ്കിൽ VIM, EMACS എന്നിവ പഠിക്കുന്നതിനുള്ള ആദ്യ ഏതാനും ആഴ്ചകൾ ചിലവഴിക്കാം.
ഇവയിൽ രണ്ട് ഞാൻ EMACS ഇഷ്ടപ്പെടുന്നു, എന്നാൽ സത്യസന്ധതയോടെ ഞാൻ നാനോ , ജിഡിറ്റ് അല്ലെങ്കിൽ ലീഫ്പാഡ് പോലുള്ള ലളിതമായ എഡിറ്റർ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്നു.
നിങ്ങൾ നിങ്ങളുടെ സ്വന്തം കമ്പ്യൂട്ടറിൽ സ്ക്രിപ്റ്റുകൾ എഴുതുമ്പോൾ നിങ്ങൾക്ക് ഒരു ഗ്രാഫിക്കൽ എൻവിറോൺമെൻറിൽ എപ്പോഴും പ്രവേശനം ഉണ്ടെന്ന് നിങ്ങൾക്കറിയാമെങ്കിൽ, നിങ്ങൾക്കായി ഏറ്റവും മികച്ച എഡിറ്റർ എഡിറ്റർ തെരഞ്ഞെടുക്കാം, അത് ജിഡിറ്റ് അല്ലെങ്കിൽ ടെർമിനലിൽ നേരിട്ട് പ്രവർത്തിക്കുന്ന എഡിറ്റർ നാനോ അല്ലെങ്കിൽ vim പോലുള്ളവ.
ലിനക്സ് വിതരണങ്ങളിൽ ഭൂരിഭാഗവും ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനാൽ ഞാൻ ഈ നാൻസി ഉപയോഗിക്കും, അതിനാൽ നിങ്ങൾക്ക് ഇത് ആക്സസ് ഉണ്ടായിരിക്കും.
ടെർമിനൽ വിൻഡോ തുറക്കുന്നു
നിങ്ങൾ ലിനക്സ് വിതരണമായ ലിനക്സ് മിന്റ് അല്ലെങ്കിൽ ഉബുണ്ടു പോലെയുള്ള ഗ്രാഫിക്കൽ പണിയിടമായി ഉപയോഗിക്കുകയാണെങ്കിൽ നിങ്ങൾക്ക് CTRL + ALT + T അമർത്തുന്നതിലൂടെ ഒരു ടെർമിനൽ വിൻഡോ തുറക്കാം.
നിങ്ങളുടെ സ്ക്രിപ്റ്റുകൾ എവിടേയ്ക്കണം
ഈ ട്യൂട്ടോറിയലിന്റെ ഉദ്ദേശ്യങ്ങൾക്കായി നിങ്ങളുടെ സ്ക്രിപ്റ്റുകൾ നിങ്ങളുടെ ഹോം ഫോൾഡറിനു കീഴിലുള്ള ഒരു ഫോൾഡറിലാക്കി വയ്ക്കാം.
ഒരു ടെർമിനൽ വിൻഡോയിൽ താഴെ പറഞ്ഞിരിയ്ക്കുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്തു് നിങ്ങളുടെ ഹോം ഫോൾഡറിലുണ്ടെന്നു ഉറപ്പാക്കുക:
cd ~Cd കമാൻഡ് മാറ്റ ഡയറക്ടറി സൂചിപ്പിക്കുന്നു. ടിൽഡും (~) നിങ്ങളുടെ ഹോം ഫോൾഡറിനുള്ള ഒരു കുറുക്കുവഴിയാണ്.
താഴെ പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്തുകൊണ്ട് നിങ്ങൾ ശരിയായ സ്ഥലത്തുണ്ടെന്ന് നിങ്ങൾക്ക് പരിശോധിക്കാം:
pwdPwd കമാൻഡ് നിങ്ങളുടെ നിലവിലുള്ള വർക്ക് ഡയറക്ടറി കാണിച്ചുതരും (നിങ്ങൾ ഡയറക്ടറി ട്രീയിൽ എവിടെയാണെന്ന്). എന്റെ കേസിൽ അത് തിരികെ / വീടിന് / ഗാരി നൽകി.
ഇപ്പോൾ നിങ്ങളുടെ സ്ക്രിപ്റ്റുകളെ നേരിട്ട് ഹോം ഫോൾഡറിലേയ്ക്ക് ഇടുകയില്ല, അതിനാൽ താഴെ കൊടുത്തിരിക്കുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്ത് സ്ക്രിപ്റ്റുകൾ എന്ന് വിളിക്കുന്ന ഫോൾഡർ ഉണ്ടാക്കുക.
mkdir സ്ക്രിപ്റ്റുകൾതാഴെ പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്ത് പുതിയ സ്ക്രിപ്റ്റുകളുടെ ഫോൾഡറിലേക്ക് മാറ്റുക:
സിഡി സ്ക്രിപ്റ്റുകൾനിങ്ങളുടെ ആദ്യ സ്ക്രിപ്റ്റ്
ആദ്യത്തെ പ്രോഗ്രാമിനെ എങ്ങനെ നിർമ്മിക്കാം എന്ന് പഠിക്കുന്പോൾ ഇത് "Hello World" എന്ന വാക്കുകളിൽ നിന്നുമാണ് ലഭ്യമാക്കുന്നത്.
നിങ്ങളുടെ സ്ക്രിപ്റ്റുകളുടെ ഫോൾഡറിൽ നിന്നും താഴെ പറയുന്ന കമാൻഡ് നൽകുക:
നാനോ helloworld.shഇനി nano വിൻഡോയിൽ താഴെ പറയുന്ന കോഡ് നൽകൂ.
#! / bin / bash echo "hello world"ഫയൽ സംരക്ഷിക്കാൻ CTRL + O അമർത്തുക, നാനോയിൽ നിന്ന് പുറത്തുകടക്കാൻ CTRL + X അമർത്തുക.
സ്ക്രിപ്റ്റ് തയ്യാറാക്കിയിരിക്കുന്നു:
നിങ്ങൾ എഴുതുന്ന എല്ലാ സ്ക്രിപ്റ്റുകളിലും #! / Bin / bash ഉൾപ്പെടുത്തേണ്ടത് അത് വ്യാഖ്യാതാക്കളെ അനുവദിക്കുന്നതിനാലും ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിന് ഫയൽ എങ്ങനെ കൈകാര്യം ചെയ്യണമെന്ന് അറിയാമെന്നതും ആണ്. അടിസ്ഥാനപരമായി അത് വെച്ചിരിക്കുന്നത് എന്തിനാണെന്ന് നിങ്ങൾ ഓർക്കുന്നു.
രണ്ടാമത്തെ ലൈനിൽ echo എന്ന് വിളിക്കുന്ന ഒരു ആജ്ഞയ്ക്ക് ഉടനടി അത് വരുന്ന ടെക്സ്റ്റ് എഴുതുന്നു.
നിങ്ങൾ ഒന്നിലധികം പദങ്ങൾ പ്രദർശിപ്പിക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, വാക്കുകൾക്ക് ചുറ്റും ഇരട്ട ഉദ്ധരണികൾ (") ഉപയോഗിക്കേണ്ടതുണ്ട്.
നിങ്ങൾക്ക് ഇപ്പോൾ താഴെ പറയുന്ന കമാൻഡ് ടൈപ്പ് ചെയ്ത് സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കാൻ കഴിയും:
sh helloworld.sh"ഹലോ വേൾഡ്" എന്ന പദങ്ങൾ പ്രത്യക്ഷപ്പെടണം.
സ്ക്രിപ്റ്റുകൾ പ്രവർത്തിപ്പിക്കാൻ മറ്റൊരു വഴി ഇങ്ങനെ:
./ഹെല്ലൊവൊര്ല്ദ്.ശ്നിങ്ങളുടെ ടെർമിനലിൽ ആ കമാൻഡ് പ്രവർത്തിപ്പിച്ചാൽ ഉടൻ നിങ്ങൾക്ക് ഒരു അനുവാദം കിട്ടും.
ഈ രീതിയിൽ സ്ക്രിപ്റ്റ് പ്രവർത്തിപ്പിക്കാൻ അനുവാദം നൽകുന്നതിന് ഇനിപ്പറയുന്നവ ടൈപ്പ് ചെയ്യുക:
സുഡോ chmod + x helloworld.shഅപ്പോൾ യഥാർത്ഥത്തിൽ എന്ത് സംഭവിച്ചു? നിങ്ങൾ എന്തിനാണ് അനുമതികൾ മാറ്റാതെ പ്രവർത്തിപ്പിക്കാതെ sh helloworld.sh പ്രവർത്തിപ്പിക്കാൻ തുടങ്ങിയോ? /helloworld.sh ഒരു പ്രശ്നത്തിന് കാരണം?
ആദ്യത്തെ രീതി bash interpreter ലഭ്യമാക്കുന്നു. അത് helloworld.sh- നെ ഒരു ഇൻപുട്ടായി എടുക്കുന്നു. ബാഷ് ഇന്റര്പ്രറ്റര് ഇതിനകം പ്രവര്ത്തിപ്പിക്കാനുള്ള അനുമതികളുണ്ട്, കൂടാതെ സ്ക്രിപ്റ്റില് കമാന്ഡുകള് പ്രവര്ത്തിപ്പിക്കേണ്ടതുണ്ട്.
രണ്ടാമത്തെ രീതി ഓപ്പറേറ്റിങ് സിസ്റ്റത്തിന് സ്ക്രിപ്റ്റ് ഉപയോഗിച്ച് എന്തുചെയ്യണമെന്ന് അനുവദിക്കുന്നു, അതിനാലാണ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിനായി ഒരു എക്സിക്യൂട്ടബിൾ ബിറ്റ് ആവശ്യമാണ്.
മുകളിലുള്ള സ്ക്രിപ്റ്റ് ശരിയാണ്, പക്ഷെ നിങ്ങൾക്ക് ഉദ്ധരണി ചിഹ്നങ്ങൾ പ്രദർശിപ്പിക്കണമെങ്കിൽ എന്ത് സംഭവിക്കും?
ഇത് നേടാൻ വിവിധ മാർഗങ്ങളുണ്ട്. ഉദാഹരണത്തിന് ഉദ്ധരണിക ചിഹ്നത്തിന് മുമ്പുള്ള ഒരു ബാക്കപ്പ് ഇപ്രകാരമാണ്:
echo \ "ഹലോ വേൾ \"ഇത് "ഹലോ വേൾഡ്" എന്ന ഔട്ട്പുട്ട് ഉത്പാദിപ്പിക്കും.
ഒരു മിനിറ്റ് കാത്തിരിക്കുക, നിങ്ങൾ "ഹലോ വേൾഡ്" പ്രദർശിപ്പിക്കണമെങ്കിൽ എന്ത് ചെയ്യണം?
നന്നായി നിങ്ങൾക്ക് രക്ഷപ്പെടൽ പ്രതീകങ്ങളിൽ നിന്ന് രക്ഷപ്പെടാം
echo \\ "\" ഹലോ വേൾഡ് \\ "\"ഇത് \ "ഹലോ വേൾഡ് \" എന്ന ഉത്പന്നത്തെ ഉത്പാദിപ്പിക്കും.
ഇപ്പോൾ നിങ്ങൾ എന്താണ് ചിന്തിക്കുന്നതെന്ന് എനിക്കറിയാം. പക്ഷെ ശരിക്കും \\ "\" ഹലോ വേൾഡ് \\ "\" \ "
ഈ എസ്കേപ്പ് ക്യാരക്ടറുകളുമായുള്ള എക്കോ ഉപയോഗിക്കുന്നത് തികച്ചും നിശബ്ദമാണ്. നിങ്ങൾക്ക് ഇതൊരു പ്രിഫീൻ ഉപയോഗിക്കാം.
ഉദാഹരണത്തിന്:
printf '% s \ n \ "\\" \ "ഹലോ വേൾഡ് \\" \ "സിംഗിൾ ഉദ്ധരണികൾക്കിടയിൽ ഞങ്ങൾ പ്രദർശിപ്പിക്കാൻ ആഗ്രഹിക്കുന്ന പാഠം ശ്രദ്ധിക്കുക. നിങ്ങളുടെ സ്ക്രിപ്റ്റിൽ നിന്നും printf കമാൻഡ് ടെക്സ്റ്റ് ഔട്ട്പുട്ട് ചെയ്യുന്നു. % S എന്നാൽ അത് ഒരു സ്ട്രിംഗ് പ്രദർശിപ്പിക്കുമെന്നാണ്, അതായത് \ n ഒരു പുതിയ വരി നൽകുന്നു.
സംഗ്രഹം
ഒരു ഭാഗത്ത് ഞങ്ങൾ വളരെ ഗ്രൌണ്ട് പൊതിഞ്ഞില്ല, പക്ഷേ നിങ്ങളുടെ ആദ്യ സ്ക്രിപ്റ്റ് നിങ്ങൾക്കറിയാമെന്ന് പ്രതീക്ഷിക്കുന്നു.
അടുത്ത ഭാഗത്ത് ഹലോ വേൾഡ് സ്ക്രിപ്റ്റിലെ മെച്ചപ്പെടുത്തലുകൾ വിവിധ നിറങ്ങളിൽ വാചകം പ്രദർശിപ്പിച്ച്, ഇൻപുട്ട് പാരാമീറ്ററുകൾ, വേരിയബിളുകൾ കൈകാര്യം ചെയ്യുക, നിങ്ങളുടെ കോഡ് അഭിപ്രായമിടാൻ നോക്കും.