Pages : 1
#1 Le 18/04/2008, à 18:33
- side
appel à l'aide à ceux qui connaissent bash ...
Bonjour,
J'aimerais avoir un petit script mais je ne connais pas du tout bash ... Si ceux qui connaissent sont motive ...
Le script devrais dire un truc comme ça :
1- charge le module uhci_hcd
2- attends un peu (que ce soit ok)
3- monte le periph /dev/sda1 dans /mnt/cleusb
et un autre qui fait dans l'autre sens :
1-demonte
2-attends
3-decharge le module
C'est le seul truc qui peut rendre viable l'insertion d'une clé usb dans une serie d'ordi, voir : http://forum.ubuntu-fr.org/viewtopic.php?id=208742
Promis ... demain ... j'apprend le bash ... ce soir en fait : )
Edit : ah oui ! il faudrait que le tout soit exécutable en tant que simple utilisateur ...
Dernière modification par side (Le 18/04/2008, à 18:37)
« Je ne suis pas une adversaire de l’Europe, je me sens européenne. Je voudrais qu’il y ait des accords entre les nations librement consentis, c’est cette Europe-là que je veux voir émerger et je souhaite que la France soit à l’origine de ce beau projet, de cette belle initiative » - Marine Le Pen - 25 Avril 2017 - TF1
Hors ligne
#2 Le 18/04/2008, à 22:57
- snapshot
Re : appel à l'aide à ceux qui connaissent bash ...
Je ne vois pas ou est la difficulté... quelque chose m'échappe ?
#/bin/bash
modprobe uhci_hcd
sleep 2
mount /dev/sda1 /mnt/cleusb
et
#/bin/bash
umount /mnt/cleusb
modprobe -r uhci_hcd
Il n'y a pas besoin d'attendre. Quand umount rend la main, c'est que c'est ok.
Dernière modification par snapshot (Le 18/04/2008, à 22:58)
Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !
Hors ligne
#3 Le 18/04/2008, à 23:08
- tukuyomi
Re : appel à l'aide à ceux qui connaissent bash ...
EDIT des balises code juste pour le fun
Ou bien, je pensais à ça aussi:
#/bin/bash
[[ $(modprobe uhci_hcd) ]] && { mount /dev/sda1 /mnt/cleusb; } || { zenity --info --text 'Erreur de modprobe'; }
Si modprobe retourne un code 0 (c'est OK), alors on exécute la commande suivante (mount)
Pareil pour le démontage
#/bin/bash
[[ $(umount /mnt/cleusb) ]] && { modprobe -r uhci_hcd; } || { zenity --info --text 'Erreur au démontage'; }
on retire le module quand le démontage s'est bien déroulé (pas d'erreurs quoi)
Dernière modification par tukuyomi (Le 18/04/2008, à 23:42)
Hors ligne
#4 Le 18/04/2008, à 23:59
- side
Re : appel à l'aide à ceux qui connaissent bash ...
Bon faut vraiment que je mettent à bash juste histoire de comprendre à quoi ça sert... (Dans mon imaginaire bash c'est des trucs avec du echo machin et des ;; ... bref une sorte de language que je connais pas ...). Mais là je savais pas que juste mettre #/bin/bash et coller 3 commande c'etait ... c'etait quoi d'ailleurs ?
Je ne vois pas ou est la difficulté... quelque chose m'échappe ?
Normal y'as pas de difficulté ici ...
Euh ... moi je pensais qu'avec du bash (de mon imaginaire) on avait quelque chose de plus élégant/complexe m'enfin bon là j'm'enfonce ...
Bah merci quand meme pour vos réponses.
Dernière modification par side (Le 19/04/2008, à 00:00)
« Je ne suis pas une adversaire de l’Europe, je me sens européenne. Je voudrais qu’il y ait des accords entre les nations librement consentis, c’est cette Europe-là que je veux voir émerger et je souhaite que la France soit à l’origine de ce beau projet, de cette belle initiative » - Marine Le Pen - 25 Avril 2017 - TF1
Hors ligne
#5 Le 19/04/2008, à 00:08
- tukuyomi
Re : appel à l'aide à ceux qui connaissent bash ...
Pour un simple utilisateur, pour modprobe je sais pas trop, par contre, tu peux remplacer mount par pmount:
$ apt-cache show pmount | grep Description
Description: mount removable devices as normal user
(Monter les périphériques amovibles en tant qu'utilisateur)
Dernière modification par tukuyomi (Le 19/04/2008, à 00:13)
Hors ligne
#6 Le 21/04/2008, à 14:12
- snapshot
Re : appel à l'aide à ceux qui connaissent bash ...
Justement, l'élégance, c'est que le truc est extrémement simple ! tu connais bash en tant que ligne de commande. Comment fait on pour le transformer en langage de programmation ? rien ! ou plutot, si : on profite du fait qu'en Unix, "tout est fichier", pour débrancher le fichier d'entrée clavier de bash pour le remplacer par un fichier sur le disque. Ça veut dire aussi que les constructions utilisées en programmation (le "if", "while", fonctions...) sont aussi disponible en ligne de commande. Mais que le source soit un clavier ou un fichier ne change rien pour bash qui se contente de lire un fichier. Ce fichier peut donc être sur le disque, ou le clavier, ou une connexion réseau (on a alors un serveur...), ou encore un autre programme...
Et ce principe s'applique à tous les trucs qui tournent en unix, pas qu'à bash ...
La voilà l'élégance... Et c'est d'autant plus élégant, que ce n'est finalement pas complexe !
Pensez à mettre [Résolu] dans le titre une fois votre problème réglé !
Hors ligne
Pages : 1