সহ zsh
:
if ((${#${(u)ARRAY_DISK_Quantity[@]}} == 1)); then
echo OK
else
echo not OK
fi
যেখানে অনন্য মানগুলি (u)
প্রসারিত করতে একটি প্যারামিটার সম্প্রসারণ পতাকা রয়েছে । সুতরাং আমরা অ্যারে অনন্য মান একটি গণনা পেয়ে যাচ্ছি।
আপনি খালি অ্যারে ঠিক আছে তা বিবেচনা করতে চান তা == 1
দিয়ে প্রতিস্থাপন করুন <= 1
।
এর সাহায্যে ksh93
আপনি অ্যারে বাছাই করতে পারেন এবং পরীক্ষা করতে পারেন যে প্রথম উপাদানটি শেষের মতো:
set -s -- "${ARRAY_DISK_Quantity[@]}"
if [ "$1" = "${@: -1}" ]; then
echo OK
else
echo not OK
fi
Ksh88 বা pdksh / mksh সহ:
set -s -- "${ARRAY_DISK_Quantity[@]}"
if eval '[ "$1" = "${'"$#"'}" ]'; then
echo OK
else
echo not OK
fi
সাথে bash
, আপনার সম্ভবত একটি লুপ দরকার:
unique_values() {
typeset i
for i do
[ "$1" = "$i" ] || return 1
done
return 0
}
if unique_values "${ARRAY_DISK_Quantity[@]}"; then
echo OK
else
echo not OK
fi
(অ্যারে সাপোর্ট (Ksh, zsh, বাশ, যশ) সহ বোর্নের মতো সমস্ত শেল নিয়ে কাজ করবে)।
মনে রাখবেন যে এটি খালি অ্যারের জন্য ঠিক আছে। [ "$#" -gt 0 ] || return
আপনি যদি না চান তবে ফাংশনটির শুরুতে একটি যুক্ত করুন ।