Petit script de débutant (zsh)

Résolu/Fermé
Foreverson Messages postés 231 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 22 juin 2014 - 8 avril 2009 à 18:43
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 7 juin 2011 à 18:16
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

Foreverson Messages postés 231 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 22 juin 2014 27
8 avril 2009 à 22:46
Personne ?
1
Foreverson Messages postés 231 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 22 juin 2014 27
9 avril 2009 à 15:34
Un peu d'aide s'il-vous-plaît
0
Foreverson Messages postés 231 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 22 juin 2014 27
10 avril 2009 à 13:14
Personne ne peut m'aider ???
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
10 avril 2009 à 13:49
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
0
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) !
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
7 juin 2011 à 18:16
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 ;-(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Foreverson Messages postés 231 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 22 juin 2014 27
10 avril 2009 à 15:02
Merci beaucoup pour ta réponse.

J'avais pas tout faux en fait ^^

Merci encore, à une prochaine fois peut-être !
0