bash マップ内で null (または unset?) をチェックする方法を見つけるのに苦労しています。つまり、マップに配置できる空の文字列を、(その特定のキーに対して) マップに何も配置していない場合とは異なる方法で扱いたいと考えています。
たとえば、次のコードを見てください。
#!/bin/bash
declare -A UsersRestrictions
UsersRestrictions['root']=""
if [[ -z "${UsersRestrictions['root']}" ]] ; then
echo root null
else
echo root not null
fi
if [[ -z "${UsersRestrictions['notset']}" ]]; then
echo notset null
else
echo notset not null
fi
「root」のテストで「not null」が返され、「notset」のテストで「null」が返されることを願っています。しかし、どちらの場合も同じ結果が得られます。他の可能な方法を検索しましたが、これまでのところすべて同じ結果が得られます。これを達成する方法はありますか?
ありがとう!