രണ്ടാം ഭാഗം ഇതിൽ മിനി ട്യൂട്ടോറിയൽ പ്രോഗ്രാമിംഗ് ബാഷ്, ഞങ്ങൾ ഉപയോഗിക്കാൻ പഠിക്കുന്നിടത്ത് ചക്രങ്ങൾ ഒപ്പം ഞങ്ങളുടെ പ്രവർത്തനക്ഷമത മെച്ചപ്പെടുത്താൻ സഹായിക്കുന്ന മറ്റ് ഉപകരണങ്ങളും സ്ക്രിപ്റ്റുകൾ. |
നിബന്ധനയുള്ളതാണെങ്കിൽ
If ന്റെ പ്രവർത്തനം ഒരു ഫിൽറ്റർ പ്രയോഗിച്ച് ഓരോ തരം ഫിൽട്ടറിനും ഒരു പ്രവർത്തനമോ ചുമതലയോ ചെയ്യുക എന്നതാണ്. അതിന്റെ ഘടന ഇപ്രകാരമാണ്:
[അവസ്ഥ] എങ്കിൽ; തുടർന്ന് എലിഫ് കമാൻഡുകൾ [വ്യവസ്ഥ]; അല്ലെങ്കിൽ കമാൻഡുകൾ; fi കമാൻഡുകൾ
അതാത് വിഭാഗത്തിലെ ഫോർ ലൂപ്പിന് അടുത്തായി ഒരു ഉദാഹരണം കാണിച്ചിരിക്കുന്നു.
സൈക്കിളുകൾ
1. അതേസമയം: നിബന്ധന ശരിയാണെങ്കിൽ, ചെയ്യേണ്ടതും ചെയ്യുന്നതും തമ്മിൽ വ്യക്തമാക്കിയ എല്ലാ കമാൻഡുകളും ഇത് നിർവ്വഹിക്കും. താരതമ്യ ഓപ്പറേറ്റർമാരെ ഇതിലേക്ക് കൈമാറാൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, എക്സ്പ്രഷൻ ബ്രാക്കറ്റുകളിൽ ആയിരിക്കണം.
CONDITION / COMMAND കമാൻഡുകൾ ചെയ്യുമ്പോൾ
ഉദാഹരണം: ഒരു സംഖ്യയുടെ ഗുണന പട്ടിക
#! / bin / bash X = 1 എക്കോ "ഒരു നമ്പർ നൽകി ENTER അമർത്തുക" M വായിക്കുക # X ലൂപ്പ് 10 നെക്കാൾ കുറവോ തുല്യമോ ആണെന്ന് ലൂപ്പ് നിയന്ത്രിക്കുന്നു, [$ X –le 10] # R ൽ ഞങ്ങൾ ഗുണിതം സംഭരിക്കുന്നു X by MR = $ [X * M] # ഈ ഗുണനം സ്ക്രീൻ എക്കോയിൽ അച്ചടിക്കുന്നു "$ M * $ X = $ R" # അനുവദിക്കുക, ഞങ്ങൾ X ന്റെ മൂല്യം 1 യൂണിറ്റ് വർദ്ധിപ്പിക്കും X = $ X + 1 പൂർത്തിയാക്കട്ടെ
2. ഇതിനായി: ഒരു വേരിയബിളിലെ ഘടകങ്ങളുടെ ഒരു ലിസ്റ്റ് സംഭരിക്കുന്നു, അത് ഓരോ സൈക്കിളിലും ചില പ്രവർത്തനങ്ങൾ നടത്താൻ ഉപയോഗിക്കും.
ELEMENTS ലെ വേരിയബിളിനായി കമാൻഡുകൾ ചെയ്തു
ഉദാഹരണം: ഒരു പഴയ ഫയലിന് പകരം ഒരു ഫോൾഡറിൽ നിന്ന് മറ്റൊന്നിലേക്ക് ഫയൽ പകർത്തുന്ന പ്രോഗ്രാം.
# / bin / bash # ഞങ്ങൾ ഉറവിട, ലക്ഷ്യസ്ഥാന ഡയറക്ടറികൾ സ്ഥാപിക്കുന്നു ORIGIN = / home / user / Downloads DESTINATION = / home / user / Documents # ഞങ്ങൾ ഉറവിടത്തിൽ സ്ഥാനം പിടിക്കുന്നു cd $ ORIGIN # എല്ലാ ഫയലുകളിലും, ഞങ്ങൾക്ക് അത് മാത്രമേ ആവശ്യമുള്ളൂ * do ARCH-DESTINATION = "ST DESTINATION / $ FILE" # -ലെ ഫയലിനായി # കോൾ FILE ആണ്, കാരണം ഡയറക്ടറികൾ # ഞങ്ങൾക്ക് നല്ലതല്ലാത്തതിനാൽ പതിവ് ഫയലുകൾ ഫിൽട്ടർ ചെയ്യുന്നു. [-F $ FILE] && [$ FILE –nt $ ARCH-DESTINATION] എങ്കിൽ ലക്ഷ്യസ്ഥാന ഫോൾഡറിലെ # ഫൗണ്ടുകളേക്കാൾ # പുതിയ ഫയലുകൾ ഫിൽട്ടർ ചെയ്യരുത്; "$ FILE പകർത്തുന്നു ..." # പ്രതിധ്വനിപ്പിക്കുക # ഞങ്ങൾ cp cp ഉപയോഗിച്ച് ഫയൽ പകർത്തുന്നു $ FILE $ ARCH-DESTINATION fi ചെയ്തു # ഉറവിട ഫോൾഡറിൽ നിന്ന് പുറത്തുകടക്കാൻ ഞങ്ങൾ cd
മറ്റൊരു ഉദാഹരണം: കമ്പ്യൂട്ടർ ജനറേറ്റുചെയ്ത ഒരു റാൻഡം നമ്പർ ഉപയോക്താവ് must ഹിക്കേണ്ട സ്ക്രിപ്റ്റ്.
# / bin / bash # ഒരു റാൻഡം നമ്പർ 1 മുതൽ 10 വരെ ജനറേറ്റുചെയ്തു, ഇത് # RANDOM RANDOM = $ [$ RANDOM% 10 + 1] ൽ സംരക്ഷിച്ചിരിക്കുന്നു, [1] എക്കോ ചെയ്യുമ്പോൾ - ഒരു നമ്പർ നൽകുക: “NUM വായിക്കുക # ഉപയോക്താവ് തിരഞ്ഞെടുത്ത നമ്പർ # RANDOM ന് തുല്യമാണെങ്കിൽ താരതമ്യം ചെയ്യുക; [“$ NUM –eq“ $ RANDOM ”] എങ്കിൽ വേരിയബിളുകളുടെ # മൂല്യങ്ങൾ വിലയിരുത്താൻ $ ഉപയോഗിക്കുന്നത് ഓർക്കുക; തുടർന്ന് "നിങ്ങൾക്ക് ഇത് ശരിയായി!" ബ്രേക്ക് ചെയ്യുമ്പോൾ ലൂക്ക് അവസാനിപ്പിക്കാൻ # ബ്രേക്ക് അനുവദിക്കുന്നു # സംഖ്യ RANDOM എലിഫിനേക്കാൾ കുറവാണെങ്കിൽ [“$ NUM –gt“ $ RANDOM ”]; എക്കോ "ഇത് കുറവാണ്" "ഇല്ലെങ്കിൽ, ഇത് റാൻഡോമിനേക്കാൾ വലുതാണ്, അല്ലെങ്കിൽ എക്കോ" ഈസ് ഗ്രേറ്റർ "ഫി
3. വരെ: എന്നതിന് ഘടനയിൽ സമാനമാണ്, അവസ്ഥയുടെ വിലയിരുത്തൽ നെഗറ്റീവ് ആയിരിക്കുമ്പോൾ കോഡ് എല്ലായ്പ്പോഴും എക്സിക്യൂട്ട് ചെയ്യുന്നു എന്നതൊഴിച്ചാൽ, അതായത് പ്രോഗ്രാം "അവസ്ഥ ഉണ്ടാകുന്നതുവരെ" എക്സിക്യൂട്ട് ചെയ്യുന്നത് തുടരുന്നു
CONDITION / COMMAND കമാൻഡുകൾ ചെയ്യുന്നതുവരെ
ഉദാഹരണം: അവരോഹണ ക്രമത്തിൽ 10-20 അക്കങ്ങൾ അച്ചടിക്കുക
#! / bin / bash CONT = 20 # ക counter ണ്ടർ 10 ൽ കുറവാണെങ്കിൽ (-lt, “low #than”) കോഡ് [$ CONT -lt 10] വരെ നടപ്പിലാക്കും; do echo "COUNTER $ CONT" #A CONT ഒരു യൂണിറ്റ് കുറയ്ക്കുന്നു CONT- = 1 പൂർത്തിയാക്കട്ടെ
4. തിരഞ്ഞെടുക്കുക: ഈ അവസാന ചക്രം ഒരു പ്രത്യേക കേസാണ്, കാരണം ഇത് സാധാരണയായി മെനുകൾ വേഗത്തിൽ നിർമ്മിക്കാൻ ഉപയോഗിക്കുന്നു. ഇത് ഫോർ ലൂപ്പിന് സമാനമായി പ്രവർത്തിക്കുന്നു.
ചെയ്ത കമാൻഡുകളുടെ പട്ടികയിൽ VARIABLE തിരഞ്ഞെടുക്കുക
ഉദാഹരണം: സ്ക്രിപ്റ്റ് തുടരാനോ അവസാനിപ്പിക്കാനോ ഉപയോക്താവിന് കഴിവ് നൽകുക.
#! പ്രോഗ്രാം അവസാനിപ്പിക്കുക, തുടർന്ന് ഇടവേളയോടെ ഞങ്ങൾ സൈക്കിളിൽ നിന്ന് പുറത്തുകടക്കും. [$ item = "Finish"] എങ്കിൽ; ഫിക്ഷൻ പൂർത്തിയാക്കുക
13 അഭിപ്രായങ്ങൾ, നിങ്ങളുടേത് വിടുക
ഇതുപോലൊന്ന് ഞാൻ കരുതുന്നു: tar -cf - ഡയറക്ടറി | (cd / other / directory; tar -xvf -)
അപ്പോൾ അത് / മറ്റൊരു / ഡയറക്ടറി / ഡയറക്ടറി പോലെ കാണപ്പെടും
അതുവഴി ഞാൻ ഒരു ഡയറക്ടറി കംപ്രസ്സുചെയ്തു, നിങ്ങൾ അത് മറ്റൊരു സ്ഥലത്ത് വിഘടിപ്പിക്കുന്നു…
ഹലോ, നല്ല ട്യൂട്ടർ, ഞാൻ ഈ വിഷയത്തെക്കുറിച്ച് പഠിക്കുന്നു, എല്ലാം മികച്ചതാണ്, എന്നെ സഹായിക്കുന്ന ഒരു പ്രോഗ്രാം നിർമ്മിക്കാൻ എനിക്ക് കഴിഞ്ഞിട്ടില്ല, ദയവായി എന്നെ സഹായിക്കാൻ നിങ്ങൾക്ക് കഴിയുമോ എന്ന് നോക്കുക.
എനിക്ക് ഒരു സൈക്കിൾ ചെയ്യേണ്ടതുണ്ട്, അതിൽ ഒരു ഉറവിട ഫയലിന്റെ ഒരു ലിസ്റ്റ് പാരാമീറ്ററുകളായി ലഭിക്കും, ഈ ലിസ്റ്റ് പേരുകൾ മാത്രമേ നൽകുന്നുള്ളൂ (വിപുലീകരണം ഇല്ലാതെ), അതിനാൽ സൈക്കിൾ ഇനിപ്പറയുന്നവ ചെയ്യുന്നു, ഒരു ഡയറക്ടറിയിൽ ലഭിച്ച പേര് തിരയുക (അതായത് ഞങ്ങൾ അന്വേഷിക്കുന്ന ഒന്ന്), ഫയലും എക്സ്ട്രാക്റ്റുചെയ്ത് പകർത്തുക (ഇതിനകം തന്നെ വിപുലീകരണമുള്ള മുഴുവൻ പേരും) കേവല പാതയും മറ്റൊരു ലക്ഷ്യസ്ഥാന ഫയലിൽ സൃഷ്ടിക്കുക.
ഇതുവരെ എനിക്ക് ഇനിപ്പറയുന്നവയുണ്ട്:
ലൈൻ വായിക്കുമ്പോൾ
do
എക്കോ -e "$ ലൈൻ"
find / home / myuser / dof "$ line" -exec readlink -f {};
ചെയ്തു <testlist.txt ഇതുവരെ ഞാൻ ഫയൽ വായിച്ചിട്ടുണ്ട്, അതിലുള്ള എല്ലാ വരികളും, പക്ഷേ എനിക്ക് ആ ഫയലിനായി വിവരങ്ങൾ ശേഖരിക്കാനും വിവരങ്ങൾ എക്സ്ട്രാക്റ്റുചെയ്യാനും കഴിയില്ല, നിങ്ങൾക്ക് എന്നെ സഹായിക്കാൻ കഴിയുമെങ്കിൽ, നന്ദി. ആദരവോടെ
സംഭാവനയ്ക്ക് വളരെ നന്ദി
ഹായ് ... അടുത്ത പരിശീലനത്തിൽ നിങ്ങൾക്ക് സഹായിക്കാൻ കഴിയുമെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു ... നിലവിലുള്ള എല്ലാ ഡയറക്ടറികൾക്കും ഫയലുകൾക്കുമായി ഉപയോക്താവിനെയും ഗ്രൂപ്പിനെയും വ്യക്തമാക്കുന്നതിനും ഫയലുകൾക്കും ഡയറക്ടറികൾക്കും അനുമതികൾ നൽകുന്നതിനും പുറമേ, നിർദ്ദിഷ്ട ഡയറക്ടറിയിൽ tgz ൽ ഫയൽ അൺസിപ്പ് ചെയ്യുക.
കുറിപ്പ്: വായിക്കാനും എഴുതാനും ഫയലുകൾ തയ്യാറാണ്
ഡയറക്ടറികളുടെ നിർവ്വഹണ അനുമതി
ലക്ഷ്യസ്ഥാന ഫയലിന്റെ പാത്ത് സംരക്ഷിക്കാനും ആവർത്തനം ക്ഷമിക്കാനും ആഗ്രഹിക്കുന്ന ഒരു വേരിയബിളാണ് ARCH-DESTINATION. തുടർന്ന്, ഈ വേരിയബിളിലേക്ക് ഞങ്ങൾ DESTINATION എന്ന വേരിയബിൾ സൂചിപ്പിക്കുന്നു, അതിൽ മുകളിൽ ഡോക്യുമെന്റ്സ് ഫോൾഡറിലേക്കുള്ള പാത്ത് അടങ്ങിയിരിക്കുന്നു, കൂടാതെ ഫയലിന്റെ പേര് ഉൾക്കൊള്ളുന്ന "വേരിയബിൾ" ഫയൽ ഞങ്ങൾ ചേർക്കുന്നു. ഉദാഹരണത്തിന്, ആ ഫയൽ list.doc ആണെങ്കിൽ, ARCH-DESTINATION എന്ന വേരിയബിൾ /home/Usuario/Documentos/listado.doc എന്നതിന് തുല്യമായിരിക്കും
മുമ്പത്തെ ലേഖനമാണിത്. നിങ്ങൾക്ക് ഇത് ആക്സസ് ചെയ്യാൻ കഴിയും http://usemoslinux.blogspot.com
ആലിംഗനം! പോൾ.
ഗുഡ് മോർണിംഗ് ഇണയ്ക്ക് നന്ദി, നിങ്ങളുടെ ബ്ലോഗ് വളരെ നല്ലതാണ്, പക്ഷേ ബാഷിലെ പ്രോഗ്രാമിംഗിന്റെ ആദ്യ ഭാഗം എനിക്ക് നേടാൻ കഴിയില്ല, അവിടെ എനിക്ക് നന്ദി, ആശംസകൾ
അസാധാരണമായ രണ്ട് ഭാഗങ്ങൾ, എന്റെ ആത്മാർത്ഥമായ അഭിനന്ദനങ്ങൾ.
ലളിതമായി അത്ഭുതകരമാണ്.
Bien
ഹലോ, ഞാൻ ഒരു കേസ് ഉപയോഗിച്ച് ഒരു പ്രോഗ്രാം തയ്യാറാക്കുന്നു, ഞാൻ എന്താണ് ചെയ്യേണ്ടത്, എങ്ങനെയെന്ന് എനിക്കറിയില്ല, ഉദാഹരണത്തിന്:
എക്കോ ഒരു ഓപ്ഷൻ തിരഞ്ഞെടുക്കുന്നു:
എക്കോ
എക്കോ 1. ഓപ്ഷൻ 1
എക്കോ 2. ഓപ്ഷൻ 2
എക്കോ 3. ഓപ്ഷൻ 3
എക്കോ 4. ഓപ്ഷൻ 4
എക്കോ 5. പുറത്തുകടക്കുക
var വായിക്കുക
കേസ് "$ var"
1)
എക്കോ "നിങ്ങൾ ഓപ്ഷൻ 1 തിരഞ്ഞെടുത്തു"
;;
2)
എക്കോ "നിങ്ങൾ ഓപ്ഷൻ 2 തിരഞ്ഞെടുത്തു"
;;
3)
വെളിയിലക്ക് വലിച്ചെറിയുക "….."
;;
4)
വെളിയിലക്ക് വലിച്ചെറിയുക "…."
;;
5)
വെളിയിലക്ക് വലിച്ചെറിയുക "…"
;;
*)
എക്കോ "തെറ്റായ ഓപ്ഷൻ"
;;
സി
ശരി എനിക്ക് എങ്ങനെ ചെയ്യണമെന്ന് അറിയില്ല, ഞാൻ പുറത്തുകടക്കാനുള്ള ഓപ്ഷൻ 4 തിരഞ്ഞെടുക്കുമ്പോൾ, എനിക്ക് ശരിക്കും പുറത്തുകടക്കണോ എന്ന് ചോദിക്കുക, എനിക്ക് 2 ഓപ്ഷനുകൾ Y & N നൽകുക
മറ്റൊന്ന്, 1..5 അക്കങ്ങൾ ഒഴികെയുള്ള എന്തെങ്കിലും നിങ്ങൾ തിരഞ്ഞെടുക്കുമ്പോൾ സ്ക്രിപ്റ്റിൽ നിന്ന് എനിക്ക് വോട്ട് ചെയ്യരുത്….
നന്ദി എന്നെ സഹായിക്കാമോ?
ഹായ്, ഞാൻ 1 മാസം മുമ്പ് സ്ക്രിപ്റ്റിംഗ് ആരംഭിച്ചു, നിങ്ങളുടെ സ്ക്രിപ്റ്റ് പോസ്റ്റുകൾക്ക് നന്ദി. ഞാൻ ഏകദേശം 15-20 വരെ ചെയ്യും. മുന്കൂറായി എന്റെ നന്ദി. എന്നാൽ ഇപ്പോൾ ഞങ്ങളുടെ ടീച്ചർ ഞങ്ങൾക്ക് ഒരു ജോലി നൽകി, അതിൽ ഞാൻ നിശ്ചലനായി. ടീച്ചർ ചോദിക്കുന്നതിനാൽ:
ഒരു ഡയറക്ടറി കൈമാറി, ആ ഡയറക്ടറിയിലുള്ള എല്ലാ ഫയലുകളും അക്ഷരമാലാക്രമത്തിൽ പകർത്തി ഫയൽ 1 ഫയൽ 2 മുതലായവയ്ക്ക് പേരിടുക ... തുടങ്ങിയവ ...
ഇപ്പോൾ ഞാൻ കണ്ടെത്തുന്നതിനോ കണ്ടെത്തുന്നതിനോ ആണ്, ഞാൻ കണ്ടെത്തൽ ഉപയോഗിക്കാൻ ആഗ്രഹിച്ചു, പക്ഷേ ഞാൻ അത് പിശക് കോഡ് നൽകുമ്പോൾ ദേവ് നൾ വഴി നൽകുമ്പോൾ, അനുമതികൾ നിരസിച്ചു, അപ്പോൾ എനിക്ക് തെറ്റ് സംഭവിക്കുകയും ഞാൻ ഇവിടെയുള്ള സ്ഥാനം കണ്ടെത്തുകയും ചെയ്യുന്നു:
കണ്ടെത്തുക $ 1 | grep "/ $ {1} \ $"
എന്നാൽ തീർച്ചയായും ഇവയെല്ലാം പുറത്തുവരുന്നു ...
നിങ്ങൾ ഇത് വായിച്ചാൽ വളരെ നന്ദി.
നിങ്ങൾക്ക് എന്നെ സഹായിക്കാൻ കഴിയുമെങ്കിൽ അത് ഒരു വലിയ ഉപകാരമായിരിക്കും.
ഇതിന് എന്നെ സഹായിക്കാൻ ഞാൻ ആഗ്രഹിക്കുന്നു.
1.-കീബോർഡ് ഉപയോഗിച്ച് ഒരു മുഴുവൻ നമ്പറും നൽകി രണ്ടുതവണ പ്രദർശിപ്പിച്ച് സ്ക്രീനിൽ ആ നമ്പർ മൂന്നിരട്ടിയാക്കുക. 2.- കീബോർഡ് നൽകിയ ഒരു സംഖ്യ 3 കൊണ്ട് ഹരിക്കുമോ ഇല്ലയോ എന്ന് തീരുമാനിക്കാൻ ഒരു പ്രോഗ്രാം നിർമ്മിക്കുക.
3.- തുക കണ്ടെത്തുന്നതിന് ഒരു പ്രോഗ്രാം തയ്യാറാക്കുക: ???????? + ???????? + ???????? + ???????? + ⋯? ???????
4.- 1 + 3 + 5 + 7 + 9 · · · + (2n + 1) തുക കണ്ടെത്താൻ ഒരു പ്രോഗ്രാം നിർമ്മിക്കുക.
5.-ലിനക്സ് എന്ന വാക്ക് സ്ക്രീനിൽ 10 തവണ പ്രിന്റുചെയ്യുന്ന ഒരു പ്രോഗ്രാം നിർമ്മിക്കുക
6.-ഒരു ഉപയോക്താവ് സൂചിപ്പിച്ച തവണയിൽ ലിനക്സ് എന്ന വാക്ക് സ്ക്രീനിൽ പ്രിന്റുചെയ്യുന്ന ഒരു പ്രോഗ്രാം നിർമ്മിക്കുക.
7.-മണിക്കൂറിൽ ഒരു തുക നൽകി മിനിറ്റുകൾ, സെക്കൻഡുകൾ എന്നിവയിലേക്ക് പരിവർത്തനം ചെയ്യുക.
8.-ഒരു ത്രികോണത്തിന്റെ വിസ്തീർണ്ണം കണക്കാക്കുക
9.-കീബോർഡ് ഉപയോഗിച്ച് ഒരു നമ്പർ നൽകുക, തുടർന്ന് നിങ്ങൾ 2 നൽകിയാൽ അത് ചതുരവും 3 ക്യൂബും 4 മുതൽ നാലാമത്തേതും 6 വരെ ആയിരിക്കണം.
10-ഒരു വിദ്യാർത്ഥി നൽകേണ്ട പെൻഷൻ, സ്പെഷ്യാലിറ്റി കോഡ് നൽകണം, കുടിശ്ശികയുള്ള ദിവസങ്ങൾ എന്നിവ കണക്കാക്കുക:
കോഡ്
പ്രത്യേകത
AMOUNT
ദിവസത്തിൽ
1
കമ്പ്യൂട്ടിംഗ്
160
1
2
നഴ്സിംഗ്
150
1.5
3
സെക്രട്ടേറിയറ്റ്
140
2
4
വിനോദസഞ്ചാരം
180
2.5
5
അക്കൌണ്ടിംഗ്
160
1
നിങ്ങൾ പഠിക്കുന്ന പ്രത്യേകത, പെൻഷന്റെ വില, സ്ഥിരസ്ഥിതി, അടയ്ക്കേണ്ട ആകെ തുക എന്നിവ നിങ്ങൾ കാണിക്കണം.
ഹലോ, ആരെങ്കിലും എന്നെ സഹായിക്കാമോ?
എനിക്ക് കീബോർഡ് ഉപയോഗിച്ച് മൂന്ന് വാക്കുകൾ അഭ്യർത്ഥിച്ച് എ മുതൽ z വരെ അക്ഷരമാലാക്രമത്തിൽ പ്രദർശിപ്പിക്കുക »
LINUX porfaborrrr നായുള്ള ബാഷ് അല്ലെങ്കിൽ sh ഭാഷയിൽ