Bash 4+ Beispiele. Hinweis: Die Nichtverwendung von Anführungszeichen führt zu Problemen, wenn Wörter Leerzeichen usw. enthalten. In der Bash immer in Anführungszeichen setzen, IMO.
Hier sind einige Beispiele Bash 4+:
Beispiel 1, Prüfung auf 'ja' in der Zeichenkette (Groß- und Kleinschreibung wird nicht berücksichtigt):
if [[ "${str,,}" == *"yes"* ]] ;then
Beispiel 2, Prüfung auf 'ja' in der Zeichenkette (Groß- und Kleinschreibung wird nicht berücksichtigt):
if [[ "$(echo "$str" | tr '[:upper:]' '[:lower:]')" == *"yes"* ]] ;then
Beispiel 3, Prüfung auf 'ja' in der Zeichenkette (Groß- und Kleinschreibung beachten):
if [[ "${str}" == *"yes"* ]] ;then
Beispiel 4, Prüfung auf 'ja' in der Zeichenkette (Groß- und Kleinschreibung beachten):
if [[ "${str}" =~ "yes" ]] ;then
Beispiel 5, exakte Übereinstimmung (Groß- und Kleinschreibung beachten):
if [[ "${str}" == "yes" ]] ;then
Beispiel 6, exakte Übereinstimmung (Groß- und Kleinschreibung unerheblich):
if [[ "${str,,}" == "yes" ]] ;then
Beispiel 7, exakte Übereinstimmung:
if [ "$a" = "$b" ] ;then
Beispiel 8, Platzhalterübereinstimmung .ext (Groß- und Kleinschreibung wird nicht berücksichtigt):
if echo "$a" | egrep -iq "\.(mp[3-4]|txt|css|jpg|png)" ; then
Viel Spaß!
4 Stimmen
Hallo, wenn leere Zeichenfolgen falsch sind, warum halten Sie es für ungeschickt? Es war der einzige Weg, der für mich funktionierte, trotz der vorgeschlagenen Lösungen.
1 Stimmen
Sie können die
expr
Befehl hier9 Stimmen
Hier ist eine für Posix-Shells: stackoverflow.com/questions/2829613/
2 Stimmen
Bitte verwenden Sie $Nadel in einem $Heuhaufen Idiom in Ihrem Beispiel. Es ist viel einfacher zu lesen und zu verstehen.