Je veux écrire un shell Unix script qui fera diverses logiques s'il y a une chaîne à l'intérieur d'une autre chaîne. Par exemple, si je suis dans un certain dossier, bifurquer. Quelqu'un pourrait-il me dire comment réaliser ceci ? Si possible, j'aimerais que cela ne soit pas spécifique à un shell (c'est-à-dire pas seulement bash) mais s'il n'y a pas d'autre moyen, je peux m'en contenter.
#!/usr/bin/env sh
if [ "$PWD" contains "String1" ]
then
echo "String1 present"
elif [ "$PWD" contains "String2" ]
then
echo "String2 present"
else
echo "Else"
fi
3 votes
Je réalise que c'est vieux, mais voici quelques éléments à noter pour les futurs visiteurs : (1) C'est généralement une bonne pratique de réserver les noms de variables en SNAKE_CASE pour les variables d'environnement et les variables internes du shell. (2) La définition de
CURRENT_DIR
est redondant ; vous pouvez simplement utiliser$PWD
.