Comment tester si une chaîne commence par un autre en bash?
Très similaire, mais pas en double : https://stackoverflow.com/a/2172367/57883
Je suis dans Git Bash 3.1 (au moins, c'est ce qui arrive dans l'invite quand j'type bash à l'intérieur de git bash.
et $ test [["DEV-0" == D*]] || echo 'fail'
imprime échouer.
if [['DEV-0-1' == DEV* ]]; then echo "yes";
dit [[DEV-0-1: command not found
Je suis en train de tester, si git branch
renvoie quelque chose qui commence avec DEV. mais je n'arrive pas à appliquer la réponse. est-ce parce que toutes mes tentatives sont à l'aide d'un littéral de chaîne sur la gauche, au lieu de la valeur d'une variable?
Je l'ai aussi essayé sur ideone http://ideone.com/3IyEND
et pas de chance.
C'est à ~14 ans que j'ai été bon avec une invite de linux.
Ce qui me manque pour une chaîne de caractères commence par tester en bash?
if [['DEV-0-1' == DEV* ]] ; then echo "yes";
dit aussi [[DEV-0-1: command not found
ah!
if [[ 'DEV-0-1' == DEV* ]] ; then echo "yes";
semble fonctionner.quel est le problème avec le
test ||
syntaxe? même chose?[[
est un bash-builtin test de syntaxe, et test
ou [
est un UNIX traditionnel de commande (ce qui est important-vous toujours besoin d'un espace entre le nom d'une commande et ses arguments, après tout). Vous utilisez l'un ou l'autre, et d'essayer de les combiner comme dans test [[ ...
n'a pas de sens.OriginalL'auteur Maslow | 2013-03-14
Vous devez vous connecter pour publier un commentaire.
Vous avez manqué un espace:
héhé.. j'ai touché à cette erreur assez de temps pour le voir tout de suite 😉
merci! quel est le
test ||
version?le pattern matching est uniquement pris en charge par
[[
. Si vous voulez POSIX, vous devez utilisercase..esac
ou[ -z "${var##dev*}" ]
.Vous pouvez mon exemple ici: ideone.com/sC3bbm . La partie
${a:0:1}
fondamentalement obtient la chaîne dea
à partir de l'indice 0 de longueur1
et il est comparé. Même façon que vous pouvez obtenir différentes longueurs de chaînes de différentes longueurs. E. g.${a:0:2}
donnera les 2 premières lettres dansa
.OriginalL'auteur P.P.
Je serais probablement plutôt faire le chèque comme ceci:
OriginalL'auteur Ansgar Wiechers