આદેશો, સિંટેક્સ, અને ઉદાહરણો
તમે સ્ક્રિપ્ટ ફાઈલમાં લખીને તેને ચલાવતા આદેશોનો ક્રમ ચલાવી શકો છો.
સ્ક્રિપ્ટ ફાઇલ એ ફક્ત એક ટેક્સ્ટ ફાઇલ છે, સામાન્ય રીતે. એસએચ ફાઇલ એક્સ્ટેંશન સાથે, જેમાં આદેશો ( શેલ ) માંથી અમલ કરી શકાય તેવી સૂચનાઓની અનુક્રમમાં શામેલ છે.
લૂપ ઉદાહરણો જ્યારે
નીચે એક લૂપનું ઉદાહરણ છે. જ્યારે એક્ઝિક્યુટ થાય છે, આ સ્ક્રિપ્ટ ફાઈલ સ્ક્રીન પર નંબરો 1 થી 9 છાપશે. જ્યારે-સ્ટેટમેન્ટ તમને for-loop કરતા સમાપ્તિ શરતને સ્પષ્ટ કરવા માટે વધુ રાહત આપે છે.
#! / bin / bash ગણતરી = 1 જ્યારે [$ count -le 9] શું "$ count" સ્લીપ 1 ("+ count ++") કર્યું છેઉદાહરણ તરીકે, તમે અગાઉના સ્ક્રીપ્ટને ઇન્ક્રીમેન્ટ નિવેદન "((count ++))" ને બાદ કરીને અનંત લૂપ બનાવી શકો છો:
#! / bin / bash ગણતરી = 1 જ્યારે [$ count -le 9] શું "$ count" સ્લીપ ઇકો કરો કર્યું છે 1 પૂર્ણ થયું"ઊંઘ 1" નિવેદન દરેક પુનરાવૃત્તિ પર 1 સેકન્ડ માટે અમલ અટકાવે છે. પ્રક્રિયા સમાપ્ત કરવા માટે Ctrl + C કીબોર્ડ શોર્ટકટનો ઉપયોગ કરો.
તમે શરત તરીકે કોલોન મૂકીને અનંત લૂપ પણ બનાવી શકો છો:
#! / bin / bash count = 1 જ્યારે: શું "$ count" સ્લીપ 1 ("+ count ++") પૂર્ણ થાય છેજ્યારે-લૂપમાં ઘણી શરતોનો ઉપયોગ કરવા માટે, તમારે ડબલ ચોરસ બ્રેકેટ નોટેશનનો ઉપયોગ કરવો પડશે:
ગણતરી = 1 થાય = 0 [[$ count -le 9] અને& [$ done == 0]] "$ count" સ્લીપ 1 ((ગણતરી ++)) ઇકો કરો જો [$ count == 5]; પછી $ પૂર્ણ = 1 ફાઇન થયુંઆ સ્ક્રિપ્ટમાં, "પૂર્ણ" વેરિયેબલ 0 થી શરૂ થાય છે અને પછી ગણતરી 1 સુધી પહોંચે છે. લૂપ શરત જણાવે છે કે "લૂપ" જ્યારે સુધી "ગણતરી" નવ કરતાં ઓછી છે અને "પૂર્ણ" બરાબર છે શૂન્ય તેથી જ્યારે લૂપ 5 બરાબર થાય ત્યારે બહાર નીકળો
"&&" એટલે લોજિકલ "અને" અને "||" તાર્કિક એટલે કે "અથવા".
"અને" અને "અથવા" માં કન્ડીશનોનો એક વૈકલ્પિક સંકેત છે "-a" અને "-o" એક ચોરસ કૌંસ સાથે. ઉપરોક્ત શરત:
[[$ count -le 9] && [$ પૂર્ણ == 0]]... તરીકે ફરીથી લખી શકાય છે:
[$ ગણતરી -9 9] -એક [$ થઈ ગયું == 0]ટેક્સ્ટ ફાઇલનું વાંચન સામાન્ય રીતે જ્યારે લૂપ સાથે થાય છે. નીચેના ઉદાહરણમાં, bash સ્ક્રિપ્ટ "inventory.txt:" નામની ફાઇલની લીટી દ્વારા સમાવિષ્ટો રેખાને વાંચે છે.
ફાઇલ = ઇન્વેન્ટરી. Txt exec 6પ્રથમ રેખા "FILE" વેરિયેબલમાં ઇનપુટ ફાઇલ નામ અસાઇન કરે છે. બીજી લીટી ફાઇલ વર્ણનકર્તા "6" (તે 3 અને 9 વચ્ચેનું મૂલ્ય હોઈ શકે છે) માં "પ્રમાણભૂત ઇનપુટ" સાચવે છે સ્ક્રિપ્ટના અંતમાં "0" ફાઈલમાં "સ્ટાન્ડર્ડ ઇનપુટ" પુનઃસ્થાપિત કરી શકાય છે, ("નિવેદન જુઓ" 3 લી વાક્યમાં ઇનપુટ ફાઇલ "0," જેનો ઉપયોગ થાય છે. સ્ટાન્ડર્ડ ઇનપુટ માટે. "વાંચી" સ્ટેટમેન્ટ પછી દરેક પુનરાવૃત્તિ પર ફાઇલમાંથી એક લીટી વાંચે છે અને તેને "line1" વેરિયેબલ પર સોંપે છે.
સમય-સમયના લૂપથી અકાળે બહાર નીકળવા માટે, તમે આ જેવી વિરામના નિવેદનનો ઉપયોગ કરી શકો છો:
ગણતરી = 1 થાય = 0 જ્યારે [$ count -le 9] "$ count" સ્લીપ 1 ((ગણતરી ++)) ઇકો કરો જો [$ count == 5] પછી પૂર્ણ થયેલ પૂર્વાધિકારને સમાપ્ત કરોબ્રેક વિધાન અંતમાં પ્રોગ્રામ એક્ઝેક્યુશનને રદ કરે છે જ્યારે લૂપની અંતર્ગત તેને કોઈ પણ સ્ટેટમેન્ટ લાગુ કરે છે. આ કિસ્સામાં, સ્ટેટમેન્ટ "ઇકો સમાપ્ત."
ચાલુ નિવેદન, બીજી તરફ, વર્તમાન પુનરાવર્તનના બાકીના બાકીના લૂપ સ્ટેટમેન્ટને જ છોડી દે છે અને સીધા જ આગામી પુનરાવર્તનમાં કૂદકા કરે છે:
ગણતરી = 1 થાય = 0 જ્યારે [$ count -le 9] ઊંઘ 1 કરો ((ગણતરી ++)) જો [$ count == 5] તો પછી "$ count" ને ઇકો કરો, પૂર્ણ થયું છે ઇકોઆ કિસ્સામાં, "ચાલુ" સ્ટેટમેંટ ચલાવવામાં આવે છે જ્યારે વેરિયેબલ "ગણતરી" 5 સુધી પહોંચે છે. આનો અર્થ એ છે કે આ પુનરાવૃત્તિ પર અનુગામી નિવેદન (ઇકો "$ ગણતરી") ચલાવવામાં આવતું નથી (જ્યારે "ગણતરી" ની કિંમત 5 છે).