J'essaye de comparer des chaînes dans bash. J'ai déjà trouvé une réponse sur la façon de le faire sur stackoverflow . Dans le script que j'essaie, j'utilise le code soumis par Adam dans la question mentionnée:
#!/bin/bash
string='My string';
if [[ "$string" == *My* ]]
then
echo "It's there!";
fi
needle='y s'
if [[ "$string" == *"$needle"* ]]; then
echo "haystack '$string' contains needle '$needle'"
fi
J'ai aussi essayé l'approche de ubuntuforums que vous pouvez trouver dans le 2ème post
if [[ $var =~ regexp ]]; then
#do something
fi
Dans les deux cas, je reçois une erreur:
[[: not found
Qu'est-ce que je fais mal?
/bin/bash --version
impression?
[
ne fonctionnera pas dans ce cas, car il ne prend pas en charge les modèles.