2017-05-23 13 views

Antwort

0

entsprechen ich denke, das ist, was Sie zu tun versuchen:

s2="something" 
echo please input your whatever you want, ya know 
read string 
if [ $string == "$s2" ] 
    then echo "match" 
fi 
+0

Andere Bourne-Shells wahrscheinlich Drossel auf '' == Sie sollten 'verwenden = ', was der POSIX-korrekte String-Vergleichsoperator ist. $ string sollte auch in Anführungszeichen gesetzt werden, um Überraschungen zu vermeiden, wenn es leer oder nicht gesetzt ist. – Jens

0

Beachten Sie, dass ASCII doppelte Anführungszeichen in Shell-Skripten verwenden müssen, nicht die Phantasie geschweiften doppelte Anführungszeichen. Als nächstes ist der korrekte (portable) Zeichenfolge Vergleichsoperator für Shells =, obwohl bash, in einem fehlgeleiteten Versuch, Programmierer Leben mit weniger Fehlermeldungen zu erleichtern, akzeptiert auch ==.

obwohl eine flexiblere Weise wird case mit:..

case $string in 
    ($s2) echo "match";; 
    (foo) echo "got foo";; 
    (*) echo "no match";; 
esac 
Verwandte Themen