আমার একটি বাশ স্ক্রিপ্ট রয়েছে যা সেট করে - তাই স্ক্রিপ্টটি কোনও প্রস্থান স্থিতিতে প্রস্থান করবে! = 0।
আমি ভেরিয়েবলগুলিতে নির্ধারিত কিছু বেসিক শেল পাটিগণিত করার চেষ্টা করছি এবং কখনও কখনও এক্সপ্রেশন 0 এর সমান হয় যার ফলে লেট বা এক্সপ্রেস কমান্ডের প্রস্থান স্থিতি "1" হয়ে যায়।
এখানে একটি উদাহরণ:
#!/bin/bash -ex
echo "Test 1"
Z=`expr 1 - 1` || true
echo "Z will print"
let "A=4 - 4"
echo "A WILL NEVER PRINT $A"
Y=`expr 1 - 1`
echo "Y WILL NEVER PRINT $Y"
X=$(expr 2 - 2)
echo "X WILL NEVER PRINT $X"
আউটপুটটি হ'ল:
$ ./test_error.sh
+ echo 'Test 1'
Test 1
++ expr 1 - 1
+ Z=0
+ true
+ echo 'Z will print'
Z will print
+ let 'A=4 - 4'
আমার প্রশ্ন হ'ল আইডোমেটিক বাশ স্ক্রিপ্টিং উপায়টি কী স্ক্রিপ্টটিকে আসল প্রস্থান ত্রুটিগুলিতে ব্যর্থ হতে দেয় এবং বেসিক গাণিতিক সমান 0 এর সাথে নয় not আমি এই সমস্ত অভিব্যক্তিটির সাথে প্রত্যয় করতে পারি:
A=`expr $C - $D` || true
তবে তা হ্যাকি মনে হচ্ছে।
(( A = $C - $D ))
?