Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/12/2008, à 20:29

richardsantoro

Désigner un script dans un dossier variable...

Bonsoir à tous,

Je "travaille" sur un script assez important (pour un débutant). Je n'ai pas encore achevé 1/4 de mes ambitions (qui ne font que grandir) mais, dans un soucis de lisibilité, je compte diviser mon script en plusieurs. Mon problème est que j'aimerais appeller les scripts, chose en soi assez facile. Seulement, je voudrais que celà fonctionne sans avoir à préciser un chemin précis, juste que le script principal et le reste soient dans le même dossier.

Merci de votre aide


Logiciels incontournables => Terminator : terminal divisible; GNS3 : Simulation de réseau avec IOS Cisco; DIA : Editeur de diagrammes pour réseaux et autres; VirtualBox : Emulateur d'ordinateur

Hors ligne

#2 Le 02/12/2008, à 21:46

AnsuzPeorth

Re : Désigner un script dans un dossier variable...

Je comprends pas !

Tu veux appeler un script depuis un aurte script ? Le script appelé se trouve dans le meme dossier ?

Tu peux donc l'appeler simplement, pas besoin d'indiquer le chemin entier (attention, si tu test en console, faire un cd dans le dossier avant, sinon, il cherchera le script au mauvais endroit)

Sinon, tu mets le chemin du script dans une variable

PATH_SCRIPT=`pwd`

#3 Le 02/12/2008, à 22:03

richardsantoro

Re : Désigner un script dans un dossier variable...

Ca n'a pas l'air de marcher tel que tu me l'a dis.

Voila comment j'ai procédé :

    6) cd /Mes\ Scripts
       sudo ScriptBashrc.sh

Je vais le tenter avec la variable smile

Dernière modification par richardsantoro (Le 02/12/2008, à 22:10)


Logiciels incontournables => Terminator : terminal divisible; GNS3 : Simulation de réseau avec IOS Cisco; DIA : Editeur de diagrammes pour réseaux et autres; VirtualBox : Emulateur d'ordinateur

Hors ligne

#4 Le 02/12/2008, à 22:17

AnsuzPeorth

Re : Désigner un script dans un dossier variable...

Je parlais de faire un cd dans ta console avant de lancer ton script dans la console (si tu lance ton script dans une console, bien sur !)...j'ai été clair wink


En utilisant le variable, ca va pas ?

PATH_SCRIPT=`pwd` #variable qui indique d'ou le script est lancé


sudo $PATH_SCRIPT/ScriptBashrc.sh

#5 Le 02/12/2008, à 22:22

richardsantoro

Re : Désigner un script dans un dossier variable...

non, en utilisant la variable il ne récup que /home/mon nom

Ca tient probablement du fait que (j'execute bien via la console) que je ne vais pas dans le dossier avant d'y lancer le script, mais que je lance direcement en indiquant toute l'arbo du script.


Logiciels incontournables => Terminator : terminal divisible; GNS3 : Simulation de réseau avec IOS Cisco; DIA : Editeur de diagrammes pour réseaux et autres; VirtualBox : Emulateur d'ordinateur

Hors ligne

#6 Le 02/12/2008, à 22:36

Totor

Re : Désigner un script dans un dossier variable...

Bonsoir,

Si tu veux pas préciser le chemin, tu as plusieurs possibilités :
1. Tu mets tes scripts dans l'un des dossiers se trouvant dans ton PATH (echo $PATH pour connaitre les dossiers constituant ton PATH)
2. Tu rajoutes le dossier dans lequel se trouve tes scripts au PATH (--> modifie ton fichier ~/.profile)
3. Tu crées un alias pour chacun de tes scripts (--> modifie ton fichier ~/.profile)
4. Solution moins propre : Si tous tes scripts se trouvent dans le même dossier et si tu n'as pas utilisé l'une des solutions précédentes, alors depuis le script principal, tu es capable de déterminer le dossier dans lequel ils se trouvent puisque tu es obligé de le lancer en précisant le nom de dossier.

5.... je passe probablement à côté d'autres solutions....


-- Lucid Lynx --

Hors ligne

#7 Le 02/12/2008, à 22:39

richardsantoro

Re : Désigner un script dans un dossier variable...

Je pense que pour l'instant, je vais mettre cette question en suspent. Ce qu'il faut savoir, c'est que (sans prétantion), je compte diffuser mon script a qui le voudra, il faudra donc que les gens n'aient pas 40 manips a faire, surtout que je le destine à des débutants. Changer les droits peut déjà s'avérer une tache complexe quand on y connait rien...


Logiciels incontournables => Terminator : terminal divisible; GNS3 : Simulation de réseau avec IOS Cisco; DIA : Editeur de diagrammes pour réseaux et autres; VirtualBox : Emulateur d'ordinateur

Hors ligne

#8 Le 03/12/2008, à 22:53

Totor

Re : Désigner un script dans un dossier variable...

Alors, c'est la 4 que tu dois utiliser...c'est à dire :
déterminer le dossier (contenant tous tes scripts) en début de ton script principal, le conserver dans une variable que tu utilises pour appeler tes autres scripts.

Dernière modification par Totor (Le 03/12/2008, à 22:53)


-- Lucid Lynx --

Hors ligne

#9 Le 03/12/2008, à 22:57

kaworu

Re : Désigner un script dans un dossier variable...

Totor a écrit :

Alors, c'est la 4 que tu dois utiliser...c'est à dire :
déterminer le dossier (contenant tous tes scripts) en début de ton script principal, le conserver dans une variable que tu utilises pour appeler tes autres scripts.

Si c'est le cas, basename "$0" est ce que tu cherche (si les scripts sont dans le même dossier que le script lancé).


"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."

Hors ligne