परीक्षण आदेश लिनक्स कमान्ड लाइनमा एक तत्वलाई अर्को विरुद्धको तुलना गर्न लिनका लागि प्रयोग गर्न सकिन्छ तर यो सामान्यतया BASH शिल लिपिहरूमा सशर्त स्टेटमेन्टहरूको भागको रूपमा प्रयोग गर्दछ जुन तर्क र कार्यक्रम प्रवाह नियन्त्रण गर्दछ।
एक आधारभूत उदाहरण
टर्मिनल सञ्झ्याल खोलेर मात्र तपाइँ यी आदेशहरू प्रयास गर्न सक्नुहुनेछ।
परीक्षण 1 -गुण 2 र गूंज "हां" || गूंज "छैन"
माथिल्लो आदेश निम्न रूपमा तल हटाउन सकिन्छ:
- परीक्षण - यसको मतलब तपाईं एक तुलना प्रदर्शन गर्दै हुनुहुन्छ
- 1 - पहिलो तुलनामा तपाईं तुलना गर्न जाँदै हुनुहुन्छ
- -eq (तपाइँ कसरी तुलना गर्दै हुनुहुन्छ, यस अवस्थामा, तपाईं परीक्षण गर्दै हुनुहुन्छ कि एक नम्बर अर्को बराबर छ)
- 2 - तपाईंले तत्त्वको पहिलो तत्वको तुलना गर्दै तत्त्व
- यदि परिणाम सत्य हो भने निम्न कथन चलाउनुहोस्
- गूंज "हो" - यदि कमाईको वास्तविक रिटर्न चलाउन आदेश
- || - यदि गलत छ भने निम्न कथन चलाउनुहोस्
- गूंज "होइन" - चलाउन आदेश यदि तुलना फर्काउँछ भने
संक्षेप मा, आदेश 1 देखि 2 को तुलना छ र उनि गूंज "हां" बयान संग निष्पादित गरिएको छ जो "हाँ" को प्रदर्शित गर्दछ र यदि उनि गूंज संग मेल नहीं खाता "no" बयान निष्पादित गरिन्छ जो "नहीं" प्रदर्शित गर्दछ।
संख्याहरू तुलना गर्दै
यदि तपाईं सङ्ख्याहरूको तुलना गर्दै हुनुहुन्छ जुन नम्बरहरू को रूपमा पार्स गर्नुहुन्छ तपाइँ निम्न तुलना अपरेटरहरू प्रयोग गर्न सक्नुहुन्छ:
- -eq - मान 1 बराबर मूल्य 2 हुन्छ
- -ge - मान 1 मान भन्दा बढी वा बराबर 2
- -gt - मान 1 मान भन्दा ठूलो 2
- -le - मान 1 मान भन्दा कम वा मान 2 बराबर
- -lt - मूल्य 1 मान 2 भन्दा कम छ
- -य - मूल्य मान 1 बराबर बराबर 2 छैन
उदाहरणहरू:
परीक्षण 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 छैन)
पाठ तुलना गर्दै
यदि तपाइँ तत्वहरूको तुलना गर्दै हुनुहुन्छ भने स्ट्रिंगको रूपमा पार्स गर्नुहोस् जुन तपाइँ निम्न तुलना अपरेटरहरू प्रयोग गर्न सक्नुहुन्छ:
- = - स्ट्रिंग 1 म्याच स्ट्रिंग 2 गर्दछ
- ! = - स्ट्रिङ हो 1 स्ट्रिंग 2 फरक छ
- -n - string भन्दा बढी 0 लङ लम्बाइ हो
- -z - string string 0 हो
उदाहरणहरू:
परीक्षण "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" सँग शून्य भन्दा ठूलो लम्बाइ छ)
फाइलहरू तुलना गर्दै
यदि तपाइँ फाइलहरू तुलना गर्दै हुनुहुन्छ भने तपाइँ निम्न तुलना अपरेटरहरू प्रयोग गर्न सक्नुहुन्छ:
- -ef - के फाइलहरूमा एउटै उपकरण र इनको अङ्कहरू छन् (तिनीहरू त्यहि फाइल हुन्)
- -nt - के पहिलो फाईल दोस्रो फाइल भन्दा नयाँ छ
- -ot - पहिलो फाईलको दोस्रो फाईल भन्दा पुरानो फाइल हो
- -b - फाइल अवस्थित छ र विशेष बन्द छ
- -c - फाइल अवस्थित छ र क्यारेक्टर विशेष छ
- -d - फाइल अवस्थित छ र डाइरेक्टरी हो
- -e - फाइल अवस्थित छ
- -f - फाइल अवस्थित छ र नियमित फाइल हो
- -g - फाइल अवस्थित छ र निर्दिष्ट समूह संख्या छ
- -G - फाइल अवस्थित छ र प्रयोगकर्ताको समूह द्वारा मालिक
- -h - फाइल अवस्थित छ र एक प्रतीक लिङ्क हो
- -k - फाइल अवस्थित छ र यसको चिपचिपा बिट सेट छ
- -L - उही जस्तो
- -O - फाइल अवस्थित छ तपाईं मालिक हो
- -p - फाइल अवस्थित छ र नामकरण पाइप हो
- -r - फाइल अवस्थित छ र पढ्न योग्य छ
- -s - फाइल अवस्थित छ र शून्य भन्दा ठूलो आकार छ
- -S - फाइल अवस्थित छ र सकेट हो
- -t - फाइल वर्णनकर्ता टर्मिनलमा खोलिएको छ
- -u - फाइल अवस्थित छ र सेट-प्रयोगकर्ता-आईडी बिट सेट गरिएको छ
- -w - फाइल अवस्थित छ र लेख्न योग्य छ
- -x - फाइल अवस्थित छ र कार्यान्वयन योग्य छ
उदाहरणहरू:
परीक्षण / पथ / गर्न / फाइल 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 अवस्थित छैन"
सारांश
परीक्षण आदेश लिपिमा अधिक उपयोगी छ किनकि तपाइँ अर्को र नियन्त्रण कार्यक्रम प्रवाह विरुद्ध एक चरको मान परीक्षण गर्न सक्नुहुन्छ। मानक कमान्ड लाइनमा, तपाइँ यसलाई परीक्षण गर्न प्रयोग गर्न सक्नुहुन्छ कि फाइल अवस्थित छ वा