Fish-shell: Comment puis-je tester une chaîne dans une autre chaîne?

Créé le 19 janv. 2013  ·  4Commentaires  ·  Source: fish-shell/fish-shell

dis que je veux si "Darwin ou Linux" dans echo (uname -a), j'ai essayé contient, cela ne fonctionne pas, car contient le test si un mot est présent dans une liste.

y a-t-il un moyen simple de le faire?

Merci !

question

Commentaire le plus utile

Une autre façon serait

switch (uname -a)
    case "*Darwin*"
        echo darwin stuff
    case "*Linux*"
        echo linux stuf
end

Mais je suppose que cette question a une réponse, alors je vais la fermer.

Tous les 4 commentaires

switch (uname -a | cut -d ' ' -f 1)
  case 'Darwin'
    echo 'do stuff'
  case 'Linux'
    echo 'do other stuff'
end

Vous pouvez également utiliser grep , surtout si vous souhaitez effectuer la même action pour l'un d'entre eux.

if uname -a | grep 'Darwin\|Linux' >/dev/null
  echo 'do stuff'
end

merci terlar.

salut terlar, je pense que votre version de grep est meilleure, car je peux détecter si c'est ubuntu, alors je peux définir certaines fonctions uniquement dans Ubuntu. c'est plus précis.

Merci encore .

Une autre façon serait

switch (uname -a)
    case "*Darwin*"
        echo darwin stuff
    case "*Linux*"
        echo linux stuf
end

Mais je suppose que cette question a une réponse, alors je vais la fermer.

Cette page vous a été utile?
0 / 5 - 0 notes