પ્રારંભકર્તાઓ બાસ માટે માર્ગદર્શન - ઇનપુટ પરિમાણો

પ્રારંભિક માર્ગદર્શિકાનો બીએસએચ શ્રેણીમાં સ્વાગત છે, જે અનન્ય છે, જેમાં તે એકમાત્ર બેશ ટ્યુટોરીયલ છે જે નવા નિશાળીયા માટે શિખાઉ દ્વારા લખવામાં આવ્યું છે.

આ માર્ગદર્શિકાના વાચકો તેમના જ્ઞાનને આગળ વધારશે કારણ કે જેમ જેમ હું મારું જ્ઞાન ઉભી કરું છું અને આખરે તે અંત સુધીમાં અમે કેટલાક ચોક્કસ હોંશિયાર સ્ક્રિપ્ટો લખી શકશો.

છેલ્લા અઠવાડિયે મેં તમારી પ્રથમ સ્ક્રીપ્ટ બનાવવાની આવૃત્ત કરી હતી જે ફક્ત "હેલો વર્લ્ડ" શબ્દ દર્શાવતી હતી તે ટેક્સ્ટ એડિટર્સ જેવા વિષયોને આવરી લે છે, ટર્મિનલ વિંડો કેવી રીતે ખોલવી, તમારી સ્ક્રિપ્ટ કેવી રીતે મૂકવી, અવતરણ અક્ષરો જેમ કે અવતરણચિત્રો ("") "હેલો વર્લ્ડ" અને કેટલાક ફાઇનર પોઇન્ટ કેવી રીતે પ્રદર્શિત કરવું.

આ અઠવાડિયે હું ઇનપુટ પરિમાણો આવરી જાઉં છું. ત્યાં બીજી માર્ગદર્શિકાઓ છે જે આ પ્રકારની વસ્તુને શીખવે છે પરંતુ મને લાગે છે કે તે કેટલીક નિમ્ન સ્તરની સામગ્રીમાં કૂદી જાય છે અને કદાચ વધુ માહિતી પૂરી પાડે છે.

પેરામીટર શું છે?

છેલ્લા ટ્યુટોરીયલમાં "હેલો વર્લ્ડ" સ્ક્રીપ્ટમાં તે બધા ખૂબ સ્થિર હતા. આ સ્ક્રિપ્ટ ખરેખર ખૂબ જ ન હતી.

અમે "હેલો વર્લ્ડ" સ્ક્રિપ્ટમાં કેવી રીતે સુધારો કરી શકીએ?

જે સ્ક્રિપ્ટ જેણે તેને ચલાવી છે તે સ્તુતિની સ્ક્રિપ્ટ વિશે શું? "હેલો વર્લ્ડ" કહેવાને બદલે તે "હેલો ગેરી", "હેલો ટિમ" અથવા "હેલો ડૉલી" કહેશે.

ઇનપુટ પરિમાણો સ્વીકારવાની ક્ષમતા વિના અમને ત્રણ સ્ક્રિપ્ટો "હેલૉગ્રારી.શ", "હેલટોિમ.શ" અને "હેલકોલી.શ" લખવાની જરૂર છે.

ઈનપુટ પરિમાણો વાંચવા માટે અમારી સ્ક્રિપ્ટને મંજૂરી આપીને આપણે કોઈને પણ નમસ્કાર કરવા માટે એક સ્ક્રિપ્ટનો ઉપયોગ કરી શકીએ છીએ.

આ કરવા માટે ટર્મિનલ વિન્ડોમાં ખોલો (CTRL + ALT + T) અને નીચેની લખીને તમારી સ્ક્રિપ્ટો ફોલ્ડરમાં નેવિગેટ કરો: ( cd આદેશ વિશે )

સીડી સ્ક્રિપ્ટ્સ

નીચે આપેલ ટાઈપ કરીને greetme.sh નામની નવી સ્ક્રિપ્ટ બનાવો: ( ટચ કમાન્ડ વિશે )

ટચ greetme.sh

નીચેની ટાઈપ કરીને તમારા મનપસંદ એડિટરમાં સ્ક્રિપ્ટ ખોલો: ( નેનો આદેશ વિશે )

નેનો શુભેચ્છા મી

નેનોમાં નીચેના ટેક્સ્ટ દાખલ કરો:

#! / bin / bash ઇકો "હેલો $ @"

ફાઇલને સંગ્રહવા માટે CTRL અને O દબાવો અને પછી ફાઇલ બંધ કરવા માટે CTRL અને X.

સ્ક્રિપ્ટને ચલાવવા માટે નીચે આપના નામની જગ્યાએ આદેશ વાક્યમાં દાખલ કરો.

sh greetme.sh

જો હું સ્ક્રિપ્ટ મારા નામથી ચલાવીશ તો તે "હેલો ગેરી" શબ્દ દર્શાવે છે.

પ્રથમ લીટીમાં #! / Bin / bash રેખા છે જેનો ઉપયોગ ફાઇલને બાશ સ્ક્રિપ્ટ તરીકે ઓળખવા માટે થાય છે.

બીજી લીટી હેલ્લો શબ્દને ઇકો કરવા માટે ઇકો સ્ટેટમેન્ટનો ઉપયોગ કરે છે અને પછી વિચિત્ર $ @ નોટેશન છે. ( ઇકો કમાન્ડ વિશે )

$ @ સ્ક્રિપ્ટ નામ સાથે દાખલ કરાયેલા પ્રત્યેક પેરામીટરને પ્રદર્શિત કરવા માટે વિસ્તરે છે તેથી જો તમે "sh greetme.sh tim" ટાઇપ કર્યું છે તો શબ્દો "હેલ્લો ટિમ" પ્રદર્શિત થશે. જો તમે "greetme.sh ટિમ સ્મિથ" ટાઇપ કર્યું છે તો "હેલ્લો ટિમ સ્મિથ" શબ્દો પ્રદર્શિત થશે.

ફક્ત પ્રથમ નામનો ઉપયોગ કરીને માત્ર હેલો કહો તે માટે greetme.sh સ્ક્રિપ્ટ માટે સરસ હોઈ શકે છે. કોઈ મને "હૅલો ગેરી નેવેલ" કહેતા નથી ત્યારે તેઓ કદાચ "હેલો ગેરી" કહી શકે છે

ચાલો સ્ક્રિપ્ટને બદલીએ જેથી તે ફક્ત પ્રથમ પેરામીટરનો ઉપયોગ કરે. નીચે લખીને નેનોમાં greetme.sh સ્ક્રિપ્ટ ખોલો.

નેનો શુભેચ્છા મી

સ્ક્રિપ્ટ બદલો જેથી તે નીચે પ્રમાણે વાંચે:

#! / bin / bash "હેલો $ 1" ઇકો

CTRL અને O દબાવીને સ્ક્રિપ્ટ સાચવો અને પછી CTRL અને X દબાવીને બહાર નીકળો.

નીચે બતાવેલ સ્ક્રીપ્ટને ચલાવો (મારું નામ તમારી સાથે બદલો):

sh greetme.sh ગેરી ન્યૂલ

જ્યારે તમે સ્ક્રિપ્ટ ચલાવો છો ત્યારે તે ફક્ત "હેલ્લો ગેરી" (અથવા આસ્થાપૂર્વક "હેલો" અને ગમે તે તમારું નામ છે) કહેશે.

$ ચિહ્ન પછી 1 એ મૂળભૂત રીતે ઇકો કમાન્ડને કહે છે, પ્રથમ પેરામીટરનો ઉપયોગ કરો. જો તમે $ 2 ને $ 2 સાથે બદલો તો તે "હેલો ન્યૂેલ" (અથવા તમારું અટક ગમે છે) પ્રદર્શિત કરશે.

સંજોગોવશાત જો તમે $ 2 $ 3 સાથે બદલી નાંખી અને માત્ર 2 પરિમાણો સાથે સ્ક્રિપ્ટ ચલાવતા આઉટપુટ ખાલી "હેલો" હશે.

વાસ્તવમાં દાખલ કરેલ પરિમાણોની સંખ્યા અને તે પછીના ટ્યુટોરિયલ્સને દર્શાવવા અને સંચાલિત કરવું શક્ય છે. હું માન્યતાના હેતુઓ માટે પરિમાણ ગણતરીનો ઉપયોગ કેવી રીતે કરવો તે દર્શાવું છું.

પરિમાણોની સંખ્યાને દર્શાવવા માટે greetme.sh સ્ક્રિપ્ટ (નેનો શુભેચ્છા.) ને દાખલ કરો અને નીચે પ્રમાણે લખાણમાં સુધારો કરો:

#! / bin / bash ઇકો "તમે $ # નામો દાખલ કર્યા" ઇકો "હેલો $ @"

સ્કેનને બચાવવા માટે CTRL અને O દબાવો અને નેનોથી બહાર નીકળવા માટે CTRL અને X.

$ # બીજી રેખા પર દાખલ કરેલ પરિમાણોની સંખ્યા દર્શાવે છે.

આમ અત્યાર સુધી આ તમામ નવલકથા છે પરંતુ ખૂબ ઉપયોગી નથી. કોણ સ્ક્રિપ્ટની જરૂર છે જે ફક્ત "હેલો" પ્રદર્શિત કરે છે?

ઇકો નિવેદનો માટે વાસ્તવિક વપરાશ એ વપરાશકર્તાને વર્બોઝ અને અર્થપૂર્ણ આઉટપુટ પૂરું પાડવાનું છે. જો તમે કલ્પના કરી શકો છો કે તમે કંઈક જટિલ કરવા માંગો છો, જેમાં કેટલાક ગંભીર સંખ્યાના ક્રન્ચિંગ અને ફાઇલ / ફોલ્ડર મેનિપ્યુલેશનનો સમાવેશ થાય છે, તે વપરાશકર્તાને પ્રદર્શિત કરવા માટે ઉપયોગી છે કે જે દરેક પગલામાં શું થઈ રહ્યું છે.

તેનાથી વિપરીત, ઇનપુટ પરિમાણો તમારી સ્ક્રિપ્ટ અરસપરસ બનાવે છે. ઇનપુટ પરિમાણો વગર તમારે ડઝનેક સ્ક્રિપ્ટોની જરૂર છે જે બધા જ સમાન વસ્તુઓ કરે છે પરંતુ સહેજ અલગ નામો સાથે.

આ બધાને ધ્યાનમાં રાખીને કેટલાક અન્ય ઉપયોગી ઇનપુટ પરિમાણો છે જે જાણવા માટે એક સારો વિચાર છે અને હું તેમને એક કોડ સ્નિપેટમાં શામેલ કરું છું.

તમારી સબ્સ્ક્રાઇબ કરો.શીપ સ્ક્રિપ્ટ ખોલો અને નીચે પ્રમાણે સુધારો કરો:

#! / bin / bash ઇકો "ફાઇલનામ: $ 0" ઇકો "પ્રક્રિયા ID: $$" ઇકો "---------------------------- --- "ઇકો" તમે $ # નામો દાખલ કર્યા છે "ઇકો" હેલો $ @ "

ફાઇલને સંગ્રહવા માટે CTRL અને O દબાવો અને બહાર નીકળવા માટે CTRL અને X દબાવો.

હવે સ્ક્રિપ્ટ ચલાવો (તમારા નામ સાથે બદલો).

sh greetme.sh

આ વખતે સ્ક્રિપ્ટ નીચે દર્શાવે છે:

ફાઇલનામ: greetme.sh પ્રક્રિયા ID: 18595 ------------------------------ તમે 2 નામો દાખલ કર્યા છે હેલ્લો ગેરી નેવેલ

સ્ક્રિપ્ટની પ્રથમ લીટી પરની $ 0 તમે ચલાવી રહ્યા છો તે સ્ક્રિપ્ટનું નામ પ્રદર્શિત કરે છે. નોંધ લો કે તે ડોલર શૂન્ય છે અને ડોલર ઓ નહીં.

બીજી લાઇન પર $ $ તમારા ચલાવવામાં આવતી સ્ક્રિપ્ટની પ્રક્રિયાનું ID દર્શાવે છે. શા માટે આ ઉપયોગી છે? જો તમે ફોરગ્રાઉન્ડમાં સ્ક્રિપ્ટ ચલાવી રહ્યા હોવ તો તમે ફક્ત સીટીઆરએલ અને સી દબાવીને રદ કરી શકો છો. જો તમે બેકગ્રાઉન્ડમાં સ્ક્રીપ્ટ ચલાવતા હોવ અને તે લૂપ કરવાનું શરૂ કરી દીધું અને આ જ વસ્તુને ઉપર અને ઉપરથી શરૂ કરી દીધી અથવા તમારી સિસ્ટમને નુકસાન પહોંચાડવાની જરૂર પડશે તેને મારવા

પૃષ્ઠભૂમિમાં ચાલી રહેલ સ્ક્રિપ્ટને મારવા માટે તમારે સ્ક્રિપ્ટની પ્રક્રિયાના ID ની જરૂર છે. જો તે સ્ક્રીપ્ટ તેની આઉટપુટના ભાગ રૂપે પ્રક્રિયા આઈડી આપતી હોય તો તે સારી નહીં થાય. ( ps અને kill આદેશો વિશે )

આ મુદ્દા સમાપ્ત થાય તે પહેલાં હું ચર્ચા કરતો હતો કે આઉટપુટ ક્યાં છે. દરેક વખતે સ્ક્રીપ્ટ ચાલે છે તેથી સ્ક્રીન પર આઉટપુટ દર્શાવવામાં આવ્યું છે.

સ્ક્રિપ્ટ આઉટપુટને આઉટપુટ ફાઈલમાં લખવાનું ખૂબ જ સામાન્ય છે. આમ કરવા માટે તમારી સ્ક્રિપ્ટ નીચે પ્રમાણે ચાલે છે:

sh greetme.sh gary> greetme.log

ઉપરોક્ત આદેશમાં> પ્રતીક "હલ્લો ગેરી" ટેક્સ્ટને આઉટલેટ તરીકે ઓળખાવે છે.

દર વખતે જ્યારે તમે સ્ક્રિપ્ટને> પ્રતીક સાથે ચલાવો છો ત્યારે તે આઉટપુટ ફાઇલની સામગ્રીને ઓવરરાઇટ કરે છે. જો તમે ફાઇલમાં ઉમેરવા માંગો છો તો> સાથે બદલો>.

સારાંશ

હવે તમે સ્ક્રીન પર ટેક્સ્ટ લખવા અને ઇનપુટ પરિમાણોને સ્વીકારવા માટે સમર્થ હોવા જોઈએ.