Petit script de débutant (zsh)

Résolu
Bonsoir, je découvre les scripts zsh et j'aurai besoin de vous pour m'aider à écrire un petit script (que le prof a donné pour débuter), mais je n'y comprends pas grand-chose...

écrire un script jeter qui a le comportement suivant :
-jeter -l : liste le contenu du répertoire Corbeille (on a auparavant créé un répertoire ~/Corbeille)
-jeter -v : efface tous les fichiers se trouvant dans le répertoire Corbeille
-jeter fichier1 fichier2 fichier3 ........... : déplace les arguments ciblés dans le répertoire Corbeille.

Voilà ce que j'ai essayé de faire, sachant pertinemment que c'est faux...

#!/bin/zsh

if echo $1 == -l (si paramètre n°1 vaut -l, alors lister le rep Corbeille)
then
ls ~/Corbeille
elif echo $1 == -v (si paramètre n°1 vaut -v, alors vider le rep Corbeille)
then
rm ~/Corbeille/*
else mv $* ~/Corbeille (sinon déplacer les fichiers appelés en paramètre vers le rep Corbeille)
fi

Voilà.

J'aimerai comprendre mes erreurs et savoir les rectifier, et je sais qu'elles sont nombreuses !

Merci d'avance à ceux qui m'aideront.

5 réponses

  1. Merci beaucoup pour ta réponse.

    J'avais pas tout faux en fait ^^

    Merci encore, à une prochaine fois peut-être !
    1. Modérateur
      Salut,

      Je n'ai pas de "zsh" sous la main, mais bon vu qu'il intègre toutes les spécificités de bash, ksh et tcsh, je suppose qu'une syntaxe propre à bash devrait le faire...
      #! /bin/sh
      
      if [ "$1" == "-l" ]
      then
              ls ~/Corbeille
      elif [ "$1" == "-v" ]
      then
              rm -i ~/Corbeille/*
      else
              mv $* ~/Corbeille/
      fi
      1. En fait c'est même du sh que tu fait et pas du bash (rapport au sha-bang).
        Preuve que les bonnes vieilles méthodes ne sont pas encore à ranger au oubliettes (sh date de 1977) !
      2. Contributeur
        Ben non, vu que maintenant le "/bin/sh" sur la plupart des distribs (sauf Debian/Ubuntu)* est un lien symbolique vers "/bin/bash" ;-\

        $ readlink -f /bin/sh
        /bin/bash
        

        * /bin/dash ;-(