Script shell: -z et -n options avec if

J'ai un script shell où nous avons les lignes suivantes if [ -z "$xyz" ] et if [ -n "$abc" ] , mais je ne suis pas sûr de leur but. Quelqu'un peut-il expliquer s'il vous plaît?

Vous pouvez find une très belle reference pour les opérateurs de bash ici . Si vous utilisez un autre shell, searchz simplement les <my shell> operators et vous findez tout ce dont vous avez besoin. Dans votre cas particulier, vous utilisez:

 -n ssortingng is not null. -z ssortingng is null, that is, has zero length 

Pour illustrer:

 $ foo="bar"; $ [ -n "$foo" ] && echo "foo is not null" foo is not null $ [ -z "$foo" ] && echo "foo is null" $ foo=""; $ [ -n "$foo" ] && echo "foo is not null" $ [ -z "$foo" ] && echo "foo is null" foo is null 

man test ou man [ vous donnera toutes les options pour tester la command. Dans ce cas, -n teste pour voir si le contenu de $ abc a une longueur non nulle et -z teste pour voir si le contenu de $ xyz est une string de longueur nulle.