बाश लिपि भित्र टेस्ट सर्तहरू कसरी प्रयोग गर्ने

परीक्षण आदेश लिनक्स कमान्ड लाइनमा एक तत्वलाई अर्को विरुद्धको तुलना गर्न लिनका लागि प्रयोग गर्न सकिन्छ तर यो सामान्यतया BASH शिल लिपिहरूमा सशर्त स्टेटमेन्टहरूको भागको रूपमा प्रयोग गर्दछ जुन तर्क र कार्यक्रम प्रवाह नियन्त्रण गर्दछ।

एक आधारभूत उदाहरण

टर्मिनल सञ्झ्याल खोलेर मात्र तपाइँ यी आदेशहरू प्रयास गर्न सक्नुहुनेछ।

परीक्षण 1 -गुण 2 र गूंज "हां" || गूंज "छैन"

माथिल्लो आदेश निम्न रूपमा तल हटाउन सकिन्छ:

संक्षेप मा, आदेश 1 देखि 2 को तुलना छ र उनि गूंज "हां" बयान संग निष्पादित गरिएको छ जो "हाँ" को प्रदर्शित गर्दछ र यदि उनि गूंज संग मेल नहीं खाता "no" बयान निष्पादित गरिन्छ जो "नहीं" प्रदर्शित गर्दछ।

संख्याहरू तुलना गर्दै

यदि तपाईं सङ्ख्याहरूको तुलना गर्दै हुनुहुन्छ जुन नम्बरहरू को रूपमा पार्स गर्नुहुन्छ तपाइँ निम्न तुलना अपरेटरहरू प्रयोग गर्न सक्नुहुन्छ:

उदाहरणहरू:

परीक्षण 1 -गुण 2 र गूंज "हां" || गूंज "छैन"

(स्क्रिनमा "होइन" प्रदर्शित गर्दछ किनभने 1 बराबर छैन 2)

परीक्षण 1 -गु 2 र गूंज "हां" || गूंज "छैन"

(स्क्रिनमा "होइन" प्रदर्शित गर्दछ किनभने 1 भन्दा बढी छैन वा बराबर 2)

परीक्षण 1 -गुण 2 र गूंज "हो" || गूंज "छैन"

(स्क्रिनमा "होइन" देखाउँछ किनभने 1 2 भन्दा ठूलो छैन)

परीक्षण 1 -le 2 र गूंज "हां" || गूंज "छैन"

(स्क्रिनमा "हो" प्रदर्शित गर्दछ किनभने 1 भन्दा कम वा बराबर 2)

परीक्षण 1 -lt 2 र गूंज "हां" || गूंज "छैन"

(स्क्रिनमा "हो" प्रदर्शित गर्दछ किनभने 1 भन्दा कम वा बराबर 2)

परीक्षण 1 -न 2 र गूंज "हां" || गूंज "छैन"

(स्क्रीन "yes" लाई देखाउँछ किनभने 1 बराबर 2 छैन)

पाठ तुलना गर्दै

यदि तपाइँ तत्वहरूको तुलना गर्दै हुनुहुन्छ भने स्ट्रिंगको रूपमा पार्स गर्नुहोस् जुन तपाइँ निम्न तुलना अपरेटरहरू प्रयोग गर्न सक्नुहुन्छ:

उदाहरणहरू:

परीक्षण "string1" = "string2" र "echo" yes "|| गूंज "छैन"

(स्क्रिनमा "no" प्रदर्शित गर्दछ किनभने "string1" "string2" बराबर छैन)

परीक्षण "string1"! = "string2" र "echo" yes "|| गूंज "छैन"

("हाई" स्क्रीनमा देखाउँछ किनभने "string1" "string2" सँग बराबर छैन)

test -n "string1" र "echo" yes "|| गूंज "छैन"

("yes" लाई स्क्रीनमा देखाउँछ किनभने "string1" सँग शून्य भन्दा ठूलो लम्बाइ छ)

test -z "string1" र "echo" yes "|| गूंज "छैन"

(स्क्रिनमा "no" प्रदर्शित गर्दछ किनभने "string1" सँग शून्य भन्दा ठूलो लम्बाइ छ)

फाइलहरू तुलना गर्दै

यदि तपाइँ फाइलहरू तुलना गर्दै हुनुहुन्छ भने तपाइँ निम्न तुलना अपरेटरहरू प्रयोग गर्न सक्नुहुन्छ:

उदाहरणहरू:

परीक्षण / पथ / गर्न / फाइल 1 -n / path / to / file2 र&chocho "yes"

(यदि फाइल 1 फाइल 2 भन्दा नयाँ छ भने शब्द "हो" प्रदर्शित हुनेछ)

test -e / path / to / file1 & echo "yes"

(यदि फाइल 1 अवस्थित छ "हो" प्रदर्शित हुनेछ)

परीक्षण -O / path / to / file1 र गूंज "हो"

(यदि तपाईंले फाइल 1 को स्वामित्व लिनुभयो भने "हो" शब्द प्रदर्शित गरिएको छ ")

टर्मिनलजी

बहुविध नियमहरू तुलना गर्दै

यस प्रकार सबै कुरा एकअर्का विरुद्ध एउटा कुरा तुलना गर्दैछ तर के तपाई दुई शर्तहरूको तुलना गर्न चाहनुहुन्छ भने।

उदाहरणको लागि, यदि एक जना जनावरहरू 4 खुट्टा छन् र "मू" जान्छ भने यो सम्भवतः गाय हुन्छ। केवल 4 खुट्टाका लागि जाँच गर्दै तपाईंलाई गाई छ भनेर ग्यारेन्टी छैन तर आवाज जाँच गर्दा यो निश्चित गर्दछ।

दुबै सर्तहरूको परीक्षण गर्न एक चोटि निम्न कथन प्रयोग गर्नुहोस्:

परीक्षण 4 -eq 4 -a "moo" = "moo" र "गूंज" यो एक गाय हो "|| गूंज "यो गाय छैन"

यहाँ मुख्य भाग हो - ए को लागि खडा छ र।

त्यहाँ उही परीक्षण प्रदर्शन गर्ने एक राम्रो र अधिक सामान्य प्रयोग गरिएको तरिका हो र यो निम्नानुसार छ:

परीक्षण 4 -eq 4 र परीक्षण "moo" = "moo" र "गूंज" यो एक गाय हो "|| गूंज "यो गाय छैन"

अर्को परीक्षण तपाइँ बनाउन चाहानुहुन्छ दुई बयानहरू तुलना गर्दै हुनुहुन्छ र यदि सहि उत्पादन हो भने स्ट्रिङ। उदाहरणका लागि, यदि तपाईं "फाइल 1.txt" नाम दिइएको फाईल अवस्थित छ वा फाइल "file1.doc" मा अवस्थित छ भने तपाइँ निम्न आदेश प्रयोग गर्न सक्नुहुन्छ।

test -e file1.txt -o -e फाइल 1.doc & echo "फाइल 1 अवस्थित" || गूंज "फाइल 1 अवस्थित छैन"

यहाँ मुख्य भाग हो -ओ को लागि खडा छ वा।

त्यहाँ उही परीक्षण प्रदर्शन गर्ने एक राम्रो र अधिक सामान्य प्रयोग गरिएको तरिका हो र यो निम्नानुसार छ:

test -e file1.txt || test -e file1.doc & echo "फाइल 1 अवस्थित" || गूंज "फाइल 1 अवस्थित छैन"

टेस्ट कुञ्जीपाटी हटाउने

तपाईं वास्तवमा तुलना गर्न शब्द परीक्षण प्रयोग गर्न आवश्यक छैन। तपाईले गर्नु पर्छ यो विवरण स्क्वायर को वर्ग कोष्ठ मा निम्न को रूप मा संलग्न छ:

[-e फाइल 1.txt] र गूंज "फाइल 1 अवस्थित छ" || गूंज "फाइल 1 अवस्थित छैन"

[र] मूल रूपले परीक्षणको रूपमा नै प्रयोग गर्दछ।

अब तपाई यो थाहा छ कि तपाईं विभिन्न परिस्थितिहरूको तुलनामा सुधार गर्न सक्नुहुन्छ।

[4 -eq 4] && ["moo" = "moo"] र गूंज "यो एक गाय हो" || गूंज "यो गाय छैन"

[-e फाइल 1.txt] || [-e file1.doc] & echo "file1 अवस्थित" || गूंज "फाइल 1 अवस्थित छैन"

सारांश

परीक्षण आदेश लिपिमा अधिक उपयोगी छ किनकि तपाइँ अर्को र नियन्त्रण कार्यक्रम प्रवाह विरुद्ध एक चरको मान परीक्षण गर्न सक्नुहुन्छ। मानक कमान्ड लाइनमा, तपाइँ यसलाई परीक्षण गर्न प्रयोग गर्न सक्नुहुन्छ कि फाइल अवस्थित छ वा