मैंने पहली बार किसी Cभाषा में कोडिंग, और उपयोग करना सीखा
if ( code )
then
code
fi
यह वास्तव में मेरे लिए मेरे कोड को पढ़ने के लिए कठिन बनाता है (क्यों नहीं पूछें)। क्या कोई विकल्प है then?
कुछ इस तरह:
if ( code ) {
code
}
fi
मैंने पहली बार किसी Cभाषा में कोडिंग, और उपयोग करना सीखा
if ( code )
then
code
fi
यह वास्तव में मेरे लिए मेरे कोड को पढ़ने के लिए कठिन बनाता है (क्यों नहीं पूछें)। क्या कोई विकल्प है then?
कुछ इस तरह:
if ( code ) {
code
}
fi
जवाबों:
कोई विकल्प नहीं है, लेकिन आप दोनों का उपयोग कर सकते हैं यदि आपको वास्तव में ब्रेस की आवश्यकता है:
if true ; then {
something
} fi
यह ब्लॉक के निकाय के रूप में एक अनावश्यक स्पष्ट रूप से लटके हुए कमांड समूह का उपयोग करता है then। ब्रेसिज़ के किसी भी कमांड को thenरन के समय केवल वर्तमान शेल में निष्पादित किया जाएगा , ठीक वैसे ही जैसे ब्रेसिज़ नहीं थे।
मैं वास्तव में सामान्य रूप से या कोड के लिए इस शैली की सिफारिश नहीं करूंगा कि किसी और को पढ़ने की आवश्यकता होगी, लेकिन यह आपको वह ब्रेसिज़ देता है जो आप चाहते हैं, और यदि आप एक संपादक का उपयोग कर रहे हैं जिसमें लटके हुए ब्लॉक की आवश्यकता होती है ऐसा कुछ।
{ if { [[ a == aa ]];};then { echo yes;};else { echo no;}; fi;}- मूल रूप से, जब आप bashपर्याप्त उपयोग करते हैं, तो मानक वाक्यविन्यास पर्याप्त रूप से परिचित हो जाता है, ताकि यह एक समस्या का अधिक न हो।
आप के लिए देख हो रहे हैं सी खोल ( csh, tcsh, आदि ...)। ज्ञात रहे कि प्रोग्रामिंग के लिए विशेषज्ञ इसके खिलाफ सलाह देते हैं ।
मुझे यकीन नहीं है कि जिस हिस्से को आप अनहेल्दी मानते हैं, वह तथ्य है कि thenनिम्नलिखित लाइन पर है? यदि हां, तो निम्नलिखित शैली का उपयोग करने पर विचार करें:
if condition; then
stuff
fi
मैं पीछे की ओर की तरह है कि वर्तनी बयान नाम स्वीकार करना होगा fiके लिए ifऔर esacके लिए case(लेकिन नहीं elihwके लिए whileविचित्र की तरह है!)। लेकिन यह मानक बॉर्न शेल है, सबसे पोर्टेबल शेल सिंटैक्स जिसका आप उपयोग कर सकते हैं।
thenअनफेयरिंग नहीं मिली , यह सिर्फ इतना है कि मेरा संपादक इसी {}जोड़े को हाइलाइट करेगा , और यह तब उपयोगी होगा जब मेरे पास किसी प्रकार की त्रुटि हो क्योंकि तब मैं आसानी से अपने सभी ifबयान देख सकता हूं और देख सकता हूं कि क्या कुछ गलत हुआ है ।
viके %आदेश जो मिलान ब्रेस / कोष्ठक / ब्रैकेट के लिए कूदता है। मुझे सहानुभूति है। मैं याद आती है viकी %जब अजगर में प्रोग्रामिंग आदेश।
शायद यह आँखों पर आसान है:
[ condition ] && {
# statement 1
# statment 2
# ...
}
उसके अलावा, बस इसकी आदत हो जाती है। भाषा के मुहावरों का प्रयोग करें।
निम्नलिखित वहाँ के पास है। और अजीब है।
: if; { code; } && {
code
}
मुझे व्यक्तिगत रूप से कभी पसंद नहीं आया ...
if true; then
more;fi
... खुद बनो। मुझे पसंद है जब नियंत्रण शब्द का नेतृत्व करते हैं । यह मुझे हमेशा अजीब लगता था कि प्रचलित ...;thenरूप बिल्कुल आया।
if this && that
then do these things too
else i will probably get upset
fi
यह आपके अनुरोध के लगभग पूरी तरह से विपरीत है, लेकिन इसे करने का एक और तरीका है। आप आवश्यकतानुसार किसी भी पुनर्निर्देशित fiलाइन पर भी सौदा कर सकते हैं और वे पूरे ब्लॉक पर लागू होंगे।
if(...) {, यानी ifसी-लाइक लैंग्वेज के समान ही ब्रेस को खोलना ।
ifकमांड की निरंतरता की व्याख्या करता है , भले ही अगली पंक्ति पर हो।
;उस मामले में परिसीमन का उपयोग करना होगा। इसलिए वे करते हैं।
:इस तरह से शेल शेल का उपयोग करना , बस कोड की एक पंक्ति बाइट-वार सी सिंटैक्स के करीब हो सकती है, इसे किसी भी तरह से प्रोत्साहित नहीं किया जाना चाहिए।
मैं हमेशा उपयोग करता हूं:
if (code); then
code;
fi
संभवत: बिल्कुल वैसा नहीं जैसा आप चाहते हैं, लेकिन यह थोड़ा और अधिक पसंद है।