Comment vérifier chaîne vide en ksh
Je suis en train d'écrire un simple script ksh. Je dois vérifier si une chaîne est vide ou pas. Comment faire? C'est ce que j'ai :
findRes=`find . -name believe | xargs grep -q "ser"`
if [ "${findRes:-unset}" != "unset" ];then
print "${file}"
fi
J'ai l'impression que l'ajout d'un
else
devrait être suffisant, puisque vous avez fait $findRes
valeur par défaut à "détruire" -- ce qui ne peut pas être vide... donc, quelque chose comme if [ "${findRes:-unset}" != "unset" ];then print "${}" ; else print "Do something when findRes is blank" ; fi
OriginalL'auteur Programmer | 2014-01-22
Vous devez vous connecter pour publier un commentaire.
vide est une chaîne sans personnage, mais défini, dans ce cas,
null est le cas lorsque votre action a échoué, non pas le moment de revenir à vide répondre
aussi,
grep -q
pourrait être testé avec un[ $? -ne 0 ]
lors de la recherche ne permet pas de trouver le modèleOriginalL'auteur NeronLeVelu
Utiliser le
test
-n
option, ou laksh
/bash
[[
...]]
équivalent:Une plus forte variation est d'utiliser l'affirmation de la syntaxe pour le paramètre d'expansion:
Cela va générer une erreur et annuler la fonction en cours
OriginalL'auteur Henk Langeveld
if [ "$var" = "" ]; then
travaille trop
OriginalL'auteur fde101