logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 02-03-2014 17:36:52

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

[wiki] bash - découverte avancée

Bonjour à tous,

J'ai complété la page sur la configuration de bash et ai fait un tri pour mettre ce qui concernait les alias dans la page idoine.


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#2 10-03-2014 09:48:24

Hypathie
Membre
Lieu : Chambéry _ Montréal
Distrib. : Jessie
Noyau : Linux debian 3.16.0-4-586
(G)UI : Cinnamon Mate Xfce
Inscription : 28-12-2013

Re : [wiki] bash - découverte avancée

Bonjour captnfab, merci pour ce tuto, très intéressant.
Je l'ai lu, et je bloque surtout sur cette partie :

~/.bashrc

Le fichier ~/.bashrc est celui contenant la réelle configuration utilisateur de bash.
Uniquement pour le mode interactif

Il commence bas vérifier qu'il est bien lancé par un utilisateur et non interpréteur d'un script3). Il s'arrête si ça n'est pas le cas.



C'est que je débute avec les scripts et ne vois pas du tout à quoi correspond "un mode intératif" ? Ça m'évoque le scanf en c mais me dit que ça n'a rien à voir big_smile

ni ce que veut dire "commencer bas" ;

je me rends bien compte que ce sont des questions de grand débutant, mais encore celle-ci, sur la distinction entre un script lancé par un utilisateur ou par l'interpréteur, tu évoques bien le wiki shell:script et les lignes suivantes :

Exemple, cela peut-être ./monscript ou monscript s'il est dans le PATH



smile

Hors ligne

#3 10-03-2014 10:46:48

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : [wiki] bash - découverte avancée

Plop,

Hypathie a écrit :

C'est que je débute avec les scripts et ne vois pas du tout à quoi correspond "un mode intératif" ? Ça m'évoque le scanf en c mais me dit que ça n'a rien à voir big_smile


En fait, un shell peut être lancé de 3 manières différentes :

  • en mode « login »
    C'est quand tu le lances via su ou dans un tty (au login quoi)

  • en mode « intéractif »
    C'est quand tu le lances dans un terminal alors que tu es déjà logguée

  • en mode interpréteur
    C'est quant tu lances un script shell comme zgrep (voir le contenu de /bin/zgrep et en particulier la première ligne qui déclare bash comme interpréteur du fichier)




Hypathie a écrit :

ni ce que veut dire "commencer bas" ;


Là par contre, la réponse est beaucoup plus simple : c'était une typo, je voulais écrire « commencer par » smile

Hypathie a écrit :

sur la distinction entre un script lancé par un utilisateur ou par l'interpréteur, tu évoques bien le wiki shell:script et les lignes suivantes :

Exemple, cela peut-être ./monscript ou monscript s'il est dans le PATH



Il y a deux distinctions distinctes à distinguer.

La première est « interpréteur » vs « interactif », que j'ai indiquée ci-dessus.

La seconde est « dans le PATH » vs « pas dans le PATH ».

Pour exécuter un programme, comme « ls », il faut faire :

/bin/ls


ou par exemple si tu es dans /home/toi :

../../bin/ls


ou encore si tu es dans /bin :

./ls


Sauf si l'exécutable que tu veux lancer est « dans le PATH ».
Si tu fais :

echo $PATH


tu vas avoir une liste de dossiers (séparés par des « : »).

Les exécutables dans ces dossiers n'ont pas besoin que l'on précise leur chemin complet, il suffit de donner leur nom et bash les trouve tout seul.
T'as du bol, /bin est dans le PATH, donc pas besoin de taper /bin/ls à chaque fois que tu veux lancer ls.

Enfin, tu peux modifier le PATH

Par exemple, si tu as un dossier ~/mes-scripts/ tu peux rajouter ce dossier dans le PATH :

export PATH=$HOME/mes-scripts:$PATH


Et avec cela, plus besoin de donner le nom complet pour exécuter des scripts dans ~/mes-scripts

Capito ? smile


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

Pied de page des forums