સંતોષ પછી જરૂરિયાતો થી બેશ સ્ક્રિપ્ટો ચલાવવા માટે સક્ષમ, અને સમજો કેવી રીતે વિધેયો વ્યાખ્યાયિત કરવા માટે, જાણો કેવી રીતે બેશ ફંક્શન્સમાં વળતર મૂલ્યો. આ માટે આપણે બાશમાં એક નાનો - પરંતુ શક્તિશાળી - એક પ્રોગ્રામ બનાવવાનો છે DNI ના અક્ષરોની ગણતરી કરો. મારી પાસે સારા સમાચાર છે: બાશ પણ કરી શકે છે વિન્ડોઝ 10 પર ઇન્સ્ટોલ કરેલું છે. Operatingપરેટિંગ સિસ્ટમ્સમાં લિનક્સની બધી શક્તિ શું ઉમેરી શકાય છે તે સાથે, ચાલો કહીએ ... અલગ.
સૌ પ્રથમ, આપણે કરવું પડશે કેવી રીતે સમજવું સબસ્ટ્રીંગ્સ, જે, કોઈપણ ભાષાની જેમ, શક્યતા છે શબ્દમાળા ભાગો પાછા સાંકળ, સ્થાન અને સેગમેન્ટની લંબાઈના સંકેતમાંથી. ચાલો આ વર્તનનું ઉદાહરણ જોઈએ. અમે સાથે અમારી સ્ક્રિપ્ટ બનાવીએ છીએ
$ touch prueba_substring $
પછી અમે તમારા પસંદીદા સંપાદક સાથે નીચેનો કોડ ઉમેરીશું. ટર્મિનલ મોડમાં મારું પસંદીદા સંપાદક મસિડિટ છે. પરંતુ તાજેતરમાં હું જોઉં છું કે નેનો શક્તિ મેળવી રહ્યો છે.
#!/usr/bin/env bash # Demo comportamiento de substrings en Bash # Pedro Ruiz Hidalgo # version 1.0.0 # Febrero 2017 ret="\n" CADENA="siempre uso Linux con Ubuntu y Ubunlog, claro!" # "0123456789012345678901234567890123456789012345" # " 1 2 3 4 " # (usa la regla para medir los caracteres) echo -e $ret ${CADENA:12} echo -e $ret ${CADENA:12:5} echo -e $ret "Aprendo en ${CADENA:31:7}" exit 0
પરવાનગી ઉમેરવી અને આની જેમ અમલ:
$ chmod +x prueba_substring $ ./prueba_substring $
તે, જો બધું બરાબર થઈ ગયું હોય, તો નીચે આપેલ પરિણામ પાછા આપવું જોઈએ:
Linux Con Ubuntu y Ubunlog, claro! Linux Aprendo en Ubunlog
સબસ્ટ્રિંગ ઓપરેશન
જેમ તમે ઉપર જોઈ શકો છો મેં 13 થી 15 લાઈનો પ્રકાશિત કરી છે સ્ક્રિપ્ટ અને પગલું માંથી તમારો કોડ સમજાવો. ઇકો સાથે પરિમાણ "-e" ચાલો બતાવીએ આગલી લાઇન અક્ષર, આપણે આ પાત્રની વ્યાખ્યા લાઇન 7 અને ચલને સોંપેલ «ret.
પંક્તિ 13: હું સબસ્ટ્રિંગ બતાવીશ (સબસ્ટ્રિંગ) ચૈન ચલનું, લાઇન 8 માં વર્ણવેલ, સ્થિતિ 12 થી. હંમેશાં સ્થિતિ 0 થી ગણતરી કરવાનું પ્રારંભ કરો.
પંક્તિ 14: થી CHAIN ચલની સ્થિતિ 12, હું 5 નો સેગમેન્ટ બતાવીશ. તમે ચકાસશો તેમ આ અનુરૂપ છે "લિનક્સ" સબસ્ટ્રિંગ.
પંક્તિ 15: હું કંપોઝ એ અવતરણમાં બંધ નવી શબ્દમાળા CHAIN ચલના સબસ્ટ્રિંગ સાથે ચાલુ રાખવા માટે, હું «હું શીખું છું as તરીકે પ્રારંભ કરું છું પોઝિશન 31 થી, 7 નો સેગમેન્ટ લઇને: આ અનુરૂપ છે «Ubunlog».
પોસ્ટબેક કાર્યો
બાશ સાથે રીટર્ન મિકેનિઝમ "રીટર્ન" કમાન્ડ દ્વારા બનાવવામાં આવે છે, જો કે, જ્યારે આપણે તેને બાસ વેરિયેબલ સાથે મેચ કરવાનું છે, ત્યારે તે "વિચિત્ર" મિકેનિઝમ લાગુ કરે છે, જે તમને ટેવાય છે. ચાલો નીચે આપેલ ઉદાહરણ જોઈએ:
#!/usr/bin/env bash function suma(){ local a=$1 local b=$2 return $(( $a + $b )) } suma 12 23 retorno=$? echo $retorno
બશમાં ઉપયોગ કરતા પહેલા કાર્યો હંમેશાં વ્યાખ્યાયિત કરવા આવશ્યક છેતેથી, પછી શેબેંગ અમે ફંકશન line પર, કાર્યની રકમ જાહેર કરીશું અમે પરિમાણોના પ્રથમ સોંપણી «સ્થાનિક of દ્વારા વ્યાખ્યાયિત કરીએ છીએ ($ 1) ચલ "એ" ને. લાઇન 5 પર સમાન પ્રક્રિયા, જ્યાં અમે બીજા પરિમાણ a ($ 2) ને વેરીએબલ assign b to ને સોંપીએ છીએ. લાઇન નવમાં આપણે બે પરિમાણો સાથે સરવાળા ફંક્શનને ક callલ કરીએ છીએ જે માં વર્ણવેલ મિકેનિઝમ દ્વારા રૂપાંતરિત કરવામાં આવશે વેરીએબલ્સ "એ" અને "બી" અને "રીટર્ન" સાથે અમે તેમને પાછા ઉમેર્યા છે, કાર્ય માટેના સૂચનોમાં સરળતાથી જોઇ શકાય છે.
આપણે "" માં વેરીએબલ "રીટર્ન" સોંપીએ છીએ વાક્ય 10 ફંક્શન રકમના અમલનું પરિણામ.
જે રીતે અભ્યાસ અને સમજ્યા પછી વેલ્યુએલ્સના વળતર અને અસાઇનમેન્ટનો ઉપયોગ કરવામાં આવે છે ચાલો આપણે અમારો પ્રોગ્રામ જોવા જઈએ બાશ સાથે DNI અક્ષરોની ગણતરી.
બાશ સાથે DNI અક્ષરોની ગણતરી માટે સ્ક્રિપ્ટ
#!/usr/bin/env bash nl="\n" LETRAS="TRWAGMYFPDXBNJZSQVHLCKEO" NORMAL=0 ERROR=66 if [ $# -lt 1 ]; then echo -e "$nl Cálculo DNI, introduce número$nl" read -r ndni [ -z "${ndni//[0-9]}" ] && [ -n "$ndni" ] || echo "Sólo números" && exit $ERROR else ndni=$1 fi modulo () { return $(( $ndni % 23 )) } modulo ndni mod=$? echo $ndni-${LETRAS:$mod:1} exit $NORMAL
La અમારા DNI ના પત્ર તે અનુલક્ષે છે નંબર મોડ્યુલ 23. આ છે, આપણે સંખ્યા 23 થી વિભાજીત કરીશું y ભાવિ તરફ જોવાની જગ્યાએ, બાકીના ભાગનું અવલોકન કરીએ છીએ. જેવા અન્ય શબ્દો 23 દ્વારા ભાગાકાર નંબરો શૂન્ય આપશે, પત્ર કે તે અનુરૂપ છે «ટી is, ત્યારથી સ્થિતિ 0 છે, જેમ કે આપણે ઉપરની સ્ક્રીપ્ટમાં જોયું છે, બધી સબસ્ટ્રિંગ્સ શૂન્યથી ગણતરી શરૂ કરે છે. તે છે, મોડ્યુલ સાથે આપણે હંમેશાં સંખ્યા પ્રાપ્ત કરીશું 0 (અક્ષર "ટી") અને 22 વચ્ચે (અક્ષર "ઓ"). બાશમાં, અન્ય ભાષાઓની જેમ મોડ્યુલ ટકા ઓપરેટર «% of દ્વારા પ્રાપ્ત થાય છે.
આ માં વાક્ય 5 અમે અક્ષરો વ્યાખ્યાયિત કરીએ છીએ તમારા ક્રમમાં તે સ્પષ્ટ છે, ઓર્ડર બદલી શકાતો નથી વિશ્વસનીય પરિણામો માટે. જો લાઇનની 9 અમે પૂછીએ છીએ જો સ્ક્રિપ્ટને ક callingલ કરતી વખતે પેરામીટર તરીકેનો નંબર હતો. જો ત્યાં કોઈ પરિમાણ નથી, તો અમે તેને 11 થી 13 લાઇનની સૂચનાઓ સાથે કીબોર્ડ દ્વારા વિનંતી કરીએ છીએ. જો સ્ક્રિપ્ટને પંક્તિ 15 પરના ક્રમમાં ગણતરી કરવા માટે નંબર સાથે બોલાવવામાં આવી હતી, તો તે આ પરિમાણને able ndni »ને સોંપે છે.
લીટી 23 માં આપણે મોડ્યુલો ફંક્શન નો સંદર્ભ લો ચલ «ndni», ક્યાં તો તે બેશમાં પરિમાણ તરીકે એકત્રિત કરવામાં આવ્યું છે, અથવા કીબોર્ડ દ્વારા ઇનપુટ તરીકે. લાઈન 24 માં ફંક્શનનું વળતર ચલ «મોડ» ને સોંપેલ છે. 25 મી લાઇન પરઆપણે નંબર, આડંબર અને મોડ્યુલસ અને સબસ્ટ્રિંગની ગણતરી પ્રમાણે સ્થિતિને અનુરૂપ પત્ર બતાવીશું..
અમારી DNI સ્ક્રિપ્ટનું પરીક્ષણ કરી રહ્યું છે
$ ./dni 12345678 12345678-Z
ઓ, સારું,
$ ./dni Cálculo DNI, Introduce número
અમારી બધી સ્ક્રિપ્ટોમાં લેખક માટે પરિમાણ "-a" અને સહાય અને વાક્યરચના માટે બીજું "-h" શામેલ હોવું જોઈએ. જેમ કે આપણે પહેલાનાં લેખોમાં જોયું છે અથવા કોડ વધુ બોજારૂપ ન બને તે માટે હું તમને તે છોડું છું.
હું આશા અને આશા રાખું છું કે આ લેખ તમારી રુચિ છે.
હેલો, કોઈ મારી મદદ કરી શકે છે, મારે મારા જૂના ડેસ્કટ computerપ કમ્પ્યુટર પર લુબન્ટુ ઇન્સ્ટોલ કરવાની જરૂર છે પરંતુ તે મને યુએસબી દ્વારા ઇન્સ્ટોલ કરવા દેશે નહીં અને ડીવીડી ડ્રાઇવને નુકસાન થયું છે, હું ફક્ત ઇન્સ્ટોલ કરવા માંગુ છું http://www.plop.at ઉબુન્ટુને 16.04 એલટીએસ પર, પરંતુ મને તે કેવી રીતે કરવું તે ખબર નથી. આભાર
ઓમર,
તમે કહ્યું તેમ, પરિસ્થિતિ ખૂબ આશાસ્પદ નથી: યુએસબીને મંજૂરી નથી અને ડીવીડી ડ્રાઇવને નુકસાન થયું છે. પરંતુ તમે પણ ટિપ્પણી કરો છો કે "કમ્પ્યુટર જૂનું છે", તેનો અર્થ એ કે તમારી પાસે એક નવું છે. તમારા કાર્યરત કમ્પ્યુટરથી ઇન્સ્ટોલને હાર્ડ ડ્રાઇવ પર મૂકવાનો પ્રયાસ કરો અને તેને તે ડ્રાઇવથી ઇન્સ્ટોલ કરવાનો પ્રયાસ કરો.
સાદર
શું તમારી પાસે કમ્પ્યુટર અને દૂર કરવા યોગ્ય બ ?ક્સ છે? દૂર કરી શકાય તેવા યુએસબી બ inક્સમાં જૂના કમ્પ્યુટરની હાર્ડ ડ્રાઇવને માઉન્ટ કરો અને ઇન્સ્ટોલેશન ડિસ્ક પ્રારંભ કરો.
લિનક્સ અને યુનિક્સ બૂટ લેવલ પરના હાર્ડવેરને ધ્યાનમાં લેતા નથી, જેની સાથે તમે ફરીથી લિનક્સ ઇન્સ્ટોલ કરીને ડિસ્ક મૂકી શકો છો.
ખૂબ ખૂબ આભાર હું તમને કહું છું કે મેં જે કર્યું તે જ operatingપરેટિંગ સિસ્ટમની ઉબુન્ટુ 16.04 થી લુબન્ટુ 16.04 પર જવું હતું અને આ રીતે જ મારો જૂનો કમ્પ્યુટર સારી રીતે કામ કરી રહ્યો હતો તે કોલમ્બિયાથી શુભેચ્છાઓ આપતો હતો.