એક બાસ સ્ક્રિપ્ટ અંદર ટેસ્ટ શરતો ઉપયોગ કેવી રીતે

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

એક મૂળભૂત ઉદાહરણ

તમે ટર્મિનલ વિંડો ખોલીને આ આદેશોને અજમાવી શકો છો.

ટેસ્ટ 1 -ઇક 2 && ઇકો "હા" || ઇકો "ના"

ઉપરોક્ત આદેશ નીચે ભાંગી શકાય છે:

સારાંશમાં, આદેશ 1 થી 2 ની સરખામણી કરી રહ્યા છે અને તેઓ "હા" સ્ટેટમેન્ટને ઇકો સાથે બંધબેસે છે, જે "હા" દર્શાવે છે અને જો તેઓ "નો" દર્શાવે છે કે ઇકો "નો" સ્ટેટમેંટ સાથે મેળ ખાતો નથી.

નંબર્સ સરખામણી

જો તમે એવા ઘટકોની સરખામણી કરી રહ્યા છો કે જે નંબરો તરીકે વિશ્લેષિત હોય તો તમે નીચેની સરખામણી ઓપરેટરોનો ઉપયોગ કરી શકો છો:

ઉદાહરણો:

ટેસ્ટ 1 -ઇક 2 && ઇકો "હા" || ઇકો "ના"

(સ્ક્રીન પર "ના" દર્શાવે છે કારણ કે 1 બરાબર નથી 2)

ટેસ્ટ 1 -ge 2 અને& ઇકો "હા" || ઇકો "ના"

(સ્ક્રીન પર "ના" દર્શાવે છે કારણ કે 1 મોટી કે બરાબર નથી 2)

ટેસ્ટ 1-જીટી 2 && ઇકો "હા" || ઇકો "ના"

(સ્ક્રીન પર "ના" દર્શાવે છે કારણ કે 1 2 કરતા વધારે નથી)

ટેસ્ટ 1 -લે 2 અને& ઇકો "હા" || ઇકો "ના"

(સ્ક્રીન પર "હા" દર્શાવે છે કારણ કે 1 2 કરતાં ઓછી અથવા બરાબર છે)

ટેસ્ટ 1-એલટી 2 && ઇકો "હા" || ઇકો "ના"

(સ્ક્રીન પર "હા" દર્શાવે છે કારણ કે 1 2 કરતાં ઓછી અથવા બરાબર છે)

પરીક્ષા 1-2 2 && ઇકો "હા" || ઇકો "ના"

(સ્ક્રીન પર "હા" દર્શાવે છે કારણ કે 1 બરાબર નથી 2)

ટેક્સ્ટની સરખામણી

જો તમે એવા ઘટકોની સરખામણી કરતા હો કે જે શબ્દમાળા તરીકે વિશ્લેષિત હોય તો તમે નીચેની સરખામણી ઓપરેટર્સનો ઉપયોગ કરી શકો છો:

ઉદાહરણો:

પરીક્ષણ "સ્ટ્રિંગ 1" = "સ્ટ્રિંગ 2" && ઇકો "હા" || ઇકો "ના"

(સ્ક્રીન પર "ના" દર્શાવે છે કારણ કે "string1" એ "string2" સમાન નથી)

પરીક્ષણ "સ્ટ્રિંગ 1"! = "સ્ટ્રિંગ 2" && ઇકો "હા" || ઇકો "ના"

(સ્ક્રીન પર "હા" દર્શાવે છે કારણ કે "string1" એ "string2" સમાન નથી)

test -n "string1" && ઇકો "હા" || ઇકો "ના"

(સ્ક્રીન પર "હા" પ્રદર્શિત કરે છે કારણ કે "string1" પાસે શૂન્ય કરતા વધુ એક સ્ટ્રિંગ લંબાઈ છે)

test -z "string1" && echo "હા" || ઇકો "ના"

(સ્ક્રીન પર "ના" દર્શાવે છે કારણ કે "string1" પાસે શૂન્ય કરતા વધારે સ્ટ્રિંગ લંબાઈ છે)

ફાઈલો સરખામણી

જો તમે ફાઇલોની સરખામણી કરી રહ્યા હો તો તમે નીચેની સરખામણી ઓપરેટરોનો ઉપયોગ કરી શકો છો:

ઉદાહરણો:

test / path / to / file1 -n / path / to / file2 અને& ઇકો "હા"

(જો file1 file2 કરતાં નવું છે તો શબ્દ "હા" પ્રદર્શિત થશે)

test -e / path / to / file1 અને& ઇકો "હા"

(જો ફાઇલ 1 અસ્તિત્વમાં હોય તો "હા" શબ્દ દર્શાવવામાં આવશે)

test-o / path / to / file1 && ઇકો "હા"

(જો તમે ફાઇલ 1 ધરાવો છો તો શબ્દ "હા" પ્રદર્શિત થાય છે)

પરિભાષા

બહુવિધ શરતો સરખામણી

આમ અત્યાર સુધી બધું એકબીજા સાથે એક વસ્તુની સરખામણી કરી રહ્યું છે પરંતુ જો તમે બે શરતોની સરખામણી કરવા માગો છો તો શું?

ઉદાહરણ તરીકે, જો કોઈ પ્રાણી પાસે 4 પગ છે અને "મૂ" તો તે કદાચ એક ગાય છે. ફક્ત 4 પગની તપાસ કરવાની ખાતરી આપતી નથી કે તમારી પાસે એક ગાય છે પરંતુ તે ચોક્કસપણે કરે છે તે અવાજને ચકાસી રહ્યો છે.

બંને પરિસ્થિતિઓને ચકાસવા માટે એકવાર નીચેના નિવેદનનો ઉપયોગ કરો:

કસોટી 4 -ઇક 4 -એક "મૂ" = "મૂ" && ઇકો "તે એક ગાય છે" || ઇકો "તે ગાય નથી"

કી ભાગ અહીં છે -a જે માટે વપરાય છે અને.

તે જ કસોટી કરવા માટે એક વધુ સારું અને વધુ સામાન્ય રીતે ઉપયોગમાં લેવાતું રીત છે અને તે નીચે મુજબ છે:

test 4 -eq 4 && test "moo" = "moo" && ઇકો "તે ગાય છે" || ઇકો "તે ગાય નથી"

બીજું કસોટી જે તમે કરી શકો છો તે બે નિવેદનોની તુલના કરી રહ્યા છે અને જો સાચું આઉટપુટ શબ્દમાળા છે ઉદાહરણ તરીકે, જો તમે "file1.txt" નામવાળી ફાઇલ અસ્તિત્વમાં છે અથવા "file1.doc" નામની ફાઇલ અસ્તિત્વમાં છે તે ચકાસવા માંગો છો તો તમે નીચેના આદેશનો ઉપયોગ કરી શકો છો.

test-e file1.txt -o -e file1.doc અને& ઇકો "ફાઇલ 1 અસ્તિત્વમાં છે" || ઇકો "ફાઈલ 1 અસ્તિત્વમાં નથી"

કી ભાગ અહીં છે -ઓ જેનો અર્થ છે કે

તે જ કસોટી કરવા માટે એક વધુ સારું અને વધુ સામાન્ય રીતે ઉપયોગમાં લેવાતું રીત છે અને તે નીચે મુજબ છે:

test -e file1.txt || test-e file1.doc અને& ઇકો "ફાઇલ 1 અસ્તિત્વમાં છે" || ઇકો "ફાઈલ 1 અસ્તિત્વમાં નથી"

ટેસ્ટ કીવર્ડ દૂર

સરખામણી કરવા માટે તમારે ખરેખર શબ્દ પરીક્ષણનો ઉપયોગ કરવાની જરૂર નથી. તમારે જે કરવું છે તે નીચે પ્રમાણે ચોરસ કૌંસમાં સ્ટેટમેન્ટને બંધ કરવું છે:

[-e file1.txt] && ઇકો "ફાઇલ 1 અસ્તિત્વમાં છે" || ઇકો "ફાઈલ 1 અસ્તિત્વમાં નથી"

આ [અને] મૂળભૂત રીતે પરીક્ષણ તરીકે જ અર્થ.

હવે તમે જાણો છો કે તમે બહુવિધ શરતોની સરખામણી નીચે પ્રમાણે કરી શકો છો:

[4-ઇક 4] && ["મૂ" = "મૂ"] && ઇકો "તે ગાય છે" || ઇકો "તે ગાય નથી"

[-e file1.txt] || [-e ફાઇલ 1.doc] && ઇકો "ફાઇલ 1 અસ્તિત્વમાં છે" || ઇકો "ફાઈલ 1 અસ્તિત્વમાં નથી"

સારાંશ

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