Création d'une commande...
Résolu
Domost
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Salut à toute la communauté,
Je débute sur linux, ça m'interesse super bien, mais là je bloque...
J'ai un exo à faire, mais je n'y arrive pas... Puis je vous demander de l'aide ^^
Je dois créer un script qui donne des droits différents suivants que l'argument passé est un fichier ou répertoire.
- pour un fichier : Droit d'exécution aux autres (other)
- Pour un répertoire : droit de navigation aux autres (other) et enlève le droit d'ecriture au groupe.
- Si ce n'est ni un fichier, ni un répertoire : affiche un message d'erreur
Pour l'instant j'ai fait ça :
#! /bin/bash
#
# Script:exo15 Auteur:c-moi
#
# @(#) Objet: donner des droits différent
#======================================================================
if test -f $1
then
chmod o+x $1
echo "Le fichier est executable"
ls -l $1
else
if test -d $1
then
chmod o+x $1
chmod g-w $1
echo "Les droits du répertoire ont été modifiés"
ls -ld $1
else
echo -e "Ceci n'est ni un fichier ni un répertoire\nVerifier le chemin et le nom"
fi
fi
Mais j'ai du faire une boulette quelque part...
Par avance, je vous remercie de votre interet!
Je débute sur linux, ça m'interesse super bien, mais là je bloque...
J'ai un exo à faire, mais je n'y arrive pas... Puis je vous demander de l'aide ^^
Je dois créer un script qui donne des droits différents suivants que l'argument passé est un fichier ou répertoire.
- pour un fichier : Droit d'exécution aux autres (other)
- Pour un répertoire : droit de navigation aux autres (other) et enlève le droit d'ecriture au groupe.
- Si ce n'est ni un fichier, ni un répertoire : affiche un message d'erreur
Pour l'instant j'ai fait ça :
#! /bin/bash
#
# Script:exo15 Auteur:c-moi
#
# @(#) Objet: donner des droits différent
#======================================================================
if test -f $1
then
chmod o+x $1
echo "Le fichier est executable"
ls -l $1
else
if test -d $1
then
chmod o+x $1
chmod g-w $1
echo "Les droits du répertoire ont été modifiés"
ls -ld $1
else
echo -e "Ceci n'est ni un fichier ni un répertoire\nVerifier le chemin et le nom"
fi
fi
Mais j'ai du faire une boulette quelque part...
Par avance, je vous remercie de votre interet!
A voir également:
- Création d'une commande...
- Invite de commande - Guide
- Commande terminal mac - Guide
- Creation compte gmail - Guide
- Création site web - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
3 réponses
Salut,
Rien de bien méchant, juste une erreur de syntaxe dans la structure if...then..else...fi
;-))
Rien de bien méchant, juste une erreur de syntaxe dans la structure if...then..else...fi
if ... then ... elif... then... else... fi
;-))
Bonjour,
C'est un peu compliqué à voir sans indentation, mais je ne vois rien de flagrant. Un bon moyen de déboguer un script bash, c'est de l'appeler avec bash -x, ça t'indique quelles instructions sont exécutées.
C'est un peu compliqué à voir sans indentation, mais je ne vois rien de flagrant. Un bon moyen de déboguer un script bash, c'est de l'appeler avec bash -x, ça t'indique quelles instructions sont exécutées.