मैं एक bash स्क्रिप्ट पर काम कर रहा हूं जिसे मैं कई तरह के VCS के लिए काम करना चाहूंगा। यदि कोई निर्देशिका किसी विशिष्ट जानकारी कमांड को चलाकर और रिटर्न कोड, सफलता या त्रुटि की जांच करके सिस्टम के लिए रेपो है, तो मैं परीक्षण के बारे में सोच रहा हूं। छद्म कोड में:
if a svn command succeded;
Then run svn commands
elif a darcs command succeded;
Then run darcs commands
elif a mercurial command succeded;
then run hg commands
else
something else
fi
मैं एक कमांड चला सकता हूं, उदाहरण के लिए darcs show repo
और $?
इसका रिटर्न कोड प्राप्त करने के लिए उपयोग कर सकता हूं
।
मेरा प्रश्न है: क्या एक लाइन में रिटर्न कोड नंबर को चलाने और वापस करने का एक अच्छा तरीका है? उदाहरण के लिए
if [ 0 -eq `darcs show repo`$? ];
या क्या मुझे किसी फ़ंक्शन को परिभाषित करना है?
एक अतिरिक्त आवश्यकता यह है कि stderr और stdout दोनों को मुद्रित किया जाना चाहिए।