बैश में, एक सरणी का एक निश्चित मान होता है, तो परीक्षण करने का सबसे सरल तरीका क्या है?
संपादित करें : उत्तर और टिप्पणियों की मदद से, कुछ परीक्षण के बाद, मैं इसके साथ आया:
function contains() {
local n=$#
local value=${!n}
for ((i=1;i < $#;i++)) {
if [ "${!i}" == "${value}" ]; then
echo "y"
return 0
fi
}
echo "n"
return 1
}
A=("one" "two" "three four")
if [ $(contains "${A[@]}" "one") == "y" ]; then
echo "contains one"
fi
if [ $(contains "${A[@]}" "three") == "y" ]; then
echo "contains three"
fi
मुझे यकीन नहीं है कि यह सबसे अच्छा समाधान है, लेकिन यह काम करने लगता है।