Menu

Résolu
Bonjour, aider moi pour réaliser ce exercice
Ecrire un script shell permettant d'afficher le menu suivant :
Menu
l créer le fichier liste contenant les fichiers du répertoire de connexion.
d demander à l'utilisateur de saisir le nom d'un répertoire. S'il existe faire un lien sur ce répertoire
dans le répertoire de connexion.
f rechercher le fichier dont le nom est donné comme 1er paramètre dans le repertoire /tmp. S'il
existe il sera supprimé.
r afficher les droits d'accés ainsi que le propiriétaire du fichier donné comme 2ème paramètre s'il
existe.
u rechercher si le nom d'utilisateur donné comme 3ème paramètre est définit sur le système. Si oui
afficher son uid et son gid.
q quitter le menu
Faites tous les tests nécessaires.

2 réponses

  1. #! /bin/bash
    while [ True ]
    do
    echo "Entrez la commande"
    read param
    if [ $param = "l" ]
    then
    ls $HOME > liste.txt
    echo "liste enregistrée"
    fi
    if [ $param = "f" ]
    then
    echo "Quel fichier voulez vous trouver ? "
    read fichier
    if [ -f /tmp/$fichier ]
    then
    rm /tmp/$fichier
    echo "fichier supprimé"
    else
    echo "fichier inexistant"
    fi
    fi
    if [ $param = "r" ]
    then
    echo "Entrez le nom du fichier dont vous voulez voir les droits"
    read fichier
    if [ -f $fichier ]
    then
    echo $(ls -l $fichier | tr -s " " | cut -d " " -f 1,3)
    else
    echo "Fichier inexistant"
    fi
    fi
    if [ $param = "u" ]
    then
    echo "Entrez un nom d'utilisateur"
    read user
    echo $(id $user)
    fi
    if [ $param = "q" ]
    then
    echo "Au revoir"
    exit 0
    fi
    done
    exit 1
    1. merci pour votre aide
    2. Voilà ce que j'ai eu le temps de faire avec le peu de batterie qu'il restait sur mon linux, j'espere que ça t'aide! j'ai testé, tout marche (sauf le rm, je suis pas suicidaire alors j'ai pas voulu tester xD) tu peux rajouter le "statement" continue, à chaque fin de if, si tu veux pas que le pc teste les autres if (ça sert surtout pour les économies de proco alors dans un while true comme ça j'y voyais peu d'interet)
    3. mais comment faire ce question : demander à l'utilisateur de saisir le nom d'un répertoire. S'il existe faire un lien sur ce répertoire dans le répertoire de connexion.
    4. Je pense que tu parles de lien symbolique
      dans ce cas c'est ça

      read repertoire
      if [ -d $repertoire ]
      then
      ln -s $repertoire $HOME
      echo "Lien symbolique créé"
      else
      echo "Le repertoire n'existe pas"
      fi
  2. Serais-tu à l'univ d'Orleans? ça me rappelle des souvenirs tout ça :p

    Tu as déjà un bout de script?
    1. vous pouvez me aider
    2. oui, je fais ça tout de suite :)
    3. merci pour votre aide :)