Ich möchte ein Unix-Shell-Skript schreiben, das verschiedene Logik ausführt, wenn eine Zeichenfolge innerhalb einer anderen Zeichenfolge ist. Zum Beispiel, wenn ich in einem bestimmten Ordner bin, verzweigen. Kann mir bitte jemand sagen, wie ich das erreichen soll? Wenn es möglich ist, möchte ich dies nicht Shell-spezifisch machen (d. H. Nicht nur Bash), aber wenn es keinen anderen Weg gibt, kann ich damit auskommen.Wie erkennen Sie, ob eine Zeichenfolge eine andere Zeichenfolge in Unix-Shell-Skripten enthält?
#!/usr/bin/env sh
if [ "$PWD" contains "String1" ]
then
echo "String1 present"
elif [ "$PWD" contains "String2" ]
then
echo "String2 present"
else
echo "Else"
fi
Ich weiß, das ist alt, aber hier sind ein paar Dinge für zukünftige Besucher zu beachten: (1) Es ist in der Regel gute Praxis, SNAKE_CASE Variablennamen für Umgebungs-und Shell-interne Variablen zu reservieren. (2) Einstellung von "CURRENT_DIR" ist redundant; Sie können einfach '$ PWD' verwenden. – nyuszika7h