--- /dev/null
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+""" Pour monter le bon disque juste en précisant son nom
+
+ Doît être exécuté en root.
+
+ """
+
+import subprocess
+import sys
+
+
+DISKS = ["Bêta", "Epsilon", "Delta", "Zêta"]
+
+
+def mount(dev, name):
+ """Monte le disque ``dev`` à l'emplacement ``name``"""
+ proc = subprocess.Popen(["mount", dev, name], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ out, err = proc.communicate()
+ if err:
+ raise RuntimeError(err)
+ print out
+
+
+if __name__ == "__main__":
+ param = sys.argv[1]
+ if param == "-l":
+ for i in DISKS:
+ print i
+ sys.exit(0)
+ mount("/dev/disk/by-label/%s" % param, "/media/%s" % param)
--- /dev/null
+_mountdisk(){
+ # declaration des variables locales
+ local argc first cur opts
+
+ #COMPREPLY désigne la réponse à renvoyer pour la complétion actuelle
+ COMPREPLY=()
+
+ # argc : vaut le nombre d'argument actuel sur la ligne de commande
+ argc=${COMP_CWORD};
+
+ # cur : désigne la chaine de caractère actuelle pour le dernier mot de la ligne de commande
+ first="${COMP_WORDS[1]}"
+ cur="${COMP_WORDS[argc]}"
+ opts="$(mountdisk -l)"
+
+ # les options possibles pour notre auto-complétion
+ if [ $argc -eq 1 ]; then
+ # on auto-complete la ligne de commande en recherchant cur dans la liste opts.
+ #A noter que le -- est important ici pour éviter les "injections d'options" depuis $cur.
+ COMPREPLY=( $(compgen -W "$opts" -- $cur ) )
+ return 0
+ fi
+}
+
+# On active l'auto-completion de la commande
+complete -F _mountdisk mountdisk