আপনার পছন্দ মতো কোনও বাশ ফাংশন সরাসরি কোনও স্ট্রিং ফিরিয়ে দিতে পারে না। আপনি তিনটি জিনিস করতে পারেন:
- একটি স্ট্রিং প্রতিধ্বনি করুন
- একটি প্রস্থান স্থিতি ফিরিয়ে দিন, যা কোনও সংখ্যা, স্ট্রিং নয়
- একটি পরিবর্তনশীল ভাগ করুন
এটি অন্য কয়েকটি শেলের ক্ষেত্রেও সত্য।
এই বিকল্পগুলির প্রত্যেকটি কীভাবে করবেন তা এখানে রয়েছে:
1. প্রতিধ্বনি স্ট্রিং
lockdir="somedir"
testlock(){
retval=""
if mkdir "$lockdir"
then # Directory did not exist, but it was created successfully
echo >&2 "successfully acquired lock: $lockdir"
retval="true"
else
echo >&2 "cannot acquire lock, giving up on $lockdir"
retval="false"
fi
echo "$retval"
}
retval=$( testlock )
if [ "$retval" == "true" ]
then
echo "directory not created"
else
echo "directory already created"
fi
২. প্রস্থান প্রস্থান স্থিতি
lockdir="somedir"
testlock(){
if mkdir "$lockdir"
then # Directory did not exist, but was created successfully
echo >&2 "successfully acquired lock: $lockdir"
retval=0
else
echo >&2 "cannot acquire lock, giving up on $lockdir"
retval=1
fi
return "$retval"
}
testlock
retval=$?
if [ "$retval" == 0 ]
then
echo "directory not created"
else
echo "directory already created"
fi
3. ভাগ পরিবর্তনশীল
lockdir="somedir"
retval=-1
testlock(){
if mkdir "$lockdir"
then # Directory did not exist, but it was created successfully
echo >&2 "successfully acquired lock: $lockdir"
retval=0
else
echo >&2 "cannot acquire lock, giving up on $lockdir"
retval=1
fi
}
testlock
if [ "$retval" == 0 ]
then
echo "directory not created"
else
echo "directory already created"
fi