[SHELL] variables d'environnement (résolu à moitié) |
Bienvenue invité ( Connexion | Inscription )
[SHELL] variables d'environnement (résolu à moitié) |
6 Feb 2010, 11:30
Message
#1
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 309 Inscrit : 17 Oct 2006 Lieu : Strasbourg, France Membre no 70 694 |
Bonjour à tous,
Comment et où, à l'instar de Linux, modifier ses variables d'environnement sous mac OS X ? Je voudrais faire deux choses : 1) indiquer au système cet endroit de stockage de binaires : /sw/bin ; 2) que le système m'avertisse avant que je fasse un rm (je voudrais qu'il suffixe cette commande avec -i : rm -i). Merci à tous pour votre aide. Ce message a été modifié par clarusad - 16 Feb 2010, 11:15. |
|
|
6 Feb 2010, 12:41
Message
#2
|
|
Sans titre ni bouboules et terriblement négatif ! Groupe : Membres Messages : -8 378 756 Inscrit : 5 Dec 2004 Membre no 28 230 |
Comme d'habitude : t'as un fichier d'initialisation dépendant du shell que tu utilises. Sous OS X, c'est du bash. Tu as donc un fichier dénommé .profile dans ton home dans lequel tu te définis toutes ces variables.
Ce message a été modifié par guerom00 - 6 Feb 2010, 12:42. -------------------- la galette: un site qui ne tourne pas en rond !
Breton par assiduité et Pinklaireur occasionnel et n'aime pas Caps Lock Theory: As long as strangers hold the power to affect your mood, you are deeply and fundamentally fucked. The Internet is made of cats. |
|
|
6 Feb 2010, 14:00
Message
#3
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 309 Inscrit : 17 Oct 2006 Lieu : Strasbourg, France Membre no 70 694 |
Pour ce qui est de l'avertissement, j'ai modifié ce fichier :
Code ~/.profile en y ajoutant : Code alias rm='rm -i' mais ça ne fonctionne pas. En ce qui concerne le chemin de (mes) binaires, je crois qu'il faut modifier la variable d'environnement $PATH, mais je ne sais pas comment faire car je croyais la trouver dans mon home... mais non ! |
|
|
6 Feb 2010, 14:04
Message
#4
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 964 Inscrit : 3 Nov 2005 Membre no 49 239 |
c'est dans le fichier .bash_profile qu'il faut faire ca
|
|
|
6 Feb 2010, 15:22
Message
#5
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 309 Inscrit : 17 Oct 2006 Lieu : Strasbourg, France Membre no 70 694 |
Merci :-)
Me reste plus qu'à "résoudre" le souci de la variable d'environnement $PATH. En attendant de trouver une solution propre, j'ai fait un : Citation ln /sw/bin/toto /bin de sorte de faire un alias du binaire toto là où il devrait être. |
|
|
6 Feb 2010, 15:51
Message
#6
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 1 336 Inscrit : 19 May 2003 Lieu : Vendée Membre no 7 668 |
Pour /sw/bin, tout simplement doit se trouver dans .bashrc la ligne suivante débutant par le point:
Code . /sw/bin/init.sh Le path est en effet défini dans ce fichier /sw/bin/init.sh. Pour 'rm -i': Code alias rm='rm -i' Pour que ça fonctionne, il faut redémarrer un shell ou lancer la commande 'rehash' (mais je crois qu'elle est spécifique à zsh). Ce message a été modifié par fgiron - 6 Feb 2010, 16:02. -------------------- [size=1]iMac 24", M1, 1To, 16 Go, Sonoma 14.1
iMac 24', 650 Go, Ram 4 Go, Intel Core 2 Duo 3.06 GHz, OS X 10.10.5 Airport Express 7.6.1 - Time Capsule 2 To 7.6.1 - iPod classic 160 Go |
|
|
7 Feb 2010, 00:30
Message
#7
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 608 Inscrit : 1 Jul 2006 Membre no 63 808 |
|
|
|
13 Feb 2010, 23:38
Message
#8
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 309 Inscrit : 17 Oct 2006 Lieu : Strasbourg, France Membre no 70 694 |
Effectivement, c'est .bash_profile qu'il faut modifier : j'ai donc un avertissement lors de la suppression d'un fichier. Parfait (je suis parfois étourdi).
En revanche, ça m'amène à une seconde question : en modifiant ce fichier, désormais lorsque j'ouvre un terminal j'ai l' alias qui se met dans l'invite ; c'est n'importe quoi ! Code Welcome to Darwin! alias rm='rm -i' PowerMac:~ clarusad$ C'est normal ça ??? Merci à tous pour votre aide. Ce message a été modifié par clarusad - 13 Feb 2010, 23:39. |
|
|
15 Feb 2010, 14:53
Message
#9
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 608 Inscrit : 1 Jul 2006 Membre no 63 808 |
poste ton .bash_profile complet, c'est sûrement une erreur de syntaxe.
|
|
|
15 Feb 2010, 16:56
Message
#10
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 309 Inscrit : 17 Oct 2006 Lieu : Strasbourg, France Membre no 70 694 |
voilà :
Code alias rm='rm -i' alias rm -d='rm -di' C'est tout simple : il n'y à que ça. |
|
|
16 Feb 2010, 02:53
Message
#11
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 608 Inscrit : 1 Jul 2006 Membre no 63 808 |
voilà : Code alias rm='rm -i' alias rm -d='rm -di' C'est tout simple : il n'y à que ça. C'est la seconde ligne. avec alias, tu remplaces un nom (ici rm) par une chaîne (ici 'rm -i' ) Avec ta seconde ligne, il perd les pédales, vu que tu ne respectes pas la syntaxe (tu essaies d'aliaser rm -d, c'est-à-dire une commande avec un argument), du coup, il doit afficher le contenu actuel de rm (qui est remplacé par rm -i) et l'affiche à l'écran. Supprimes ta seconde ligne, et tout marchera correctement. |
|
|
16 Feb 2010, 08:58
Message
#12
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 309 Inscrit : 17 Oct 2006 Lieu : Strasbourg, France Membre no 70 694 |
ok, je comprends, mais alors comment faire pour que je puisse avoir plusieurs alias de commandes ?
Par exemple je pourrais aussi vouloir ceci en plus : alias ls='ls -ai' pour obtenir le ll de Linux. Comment l'ajouter dans ce cas ? Merci. |
|
|
16 Feb 2010, 10:08
Message
#13
|
|
Sans titre ni bouboules et terriblement négatif ! Groupe : Membres Messages : -8 378 756 Inscrit : 5 Dec 2004 Membre no 28 230 |
Oui bah tu rajoutes ça :
alias ls='ls -ai' à la suite dans ton fichier. Ce qui n'allait pas précédemment c'est que tu voulais définir un alias pour rm -d qui est une commande et un argument. On peut pas faire ça. -------------------- la galette: un site qui ne tourne pas en rond !
Breton par assiduité et Pinklaireur occasionnel et n'aime pas Caps Lock Theory: As long as strangers hold the power to affect your mood, you are deeply and fundamentally fucked. The Internet is made of cats. |
|
|
16 Feb 2010, 11:05
Message
#14
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 309 Inscrit : 17 Oct 2006 Lieu : Strasbourg, France Membre no 70 694 |
ok je comprends bien, merci.
En plus que le rm -di est superflu car le terminal me demande une confirmation lors de la destruction d'un répertoire. Merci à tous pour votre aide : j'ai bien avancé ! (j'ajoute la mention résolu dans le titre du post) |
|
|
16 Feb 2010, 21:48
Message
#15
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 745 Inscrit : 13 Nov 2006 Membre no 72 823 |
En plus que le rm -di est superflu car le terminal me demande une confirmation lors de la destruction d'un répertoire. bin oui, puisque tu as deja un alias rm=rm -i quand tu tapes 'rm -d', le shell parse ta ligne, voir 'rm', le remplace par 'rm -i', et donc la commande exécutée est 'rm -i -d' d'ailleurs un petit truc utile, pour mettre à jour ces mécanismes internes: tapes 'set -x' une fois ceci fait, le shell t'indiquera chaque ligne tel qu'il la comprend avant de l'exécuter. pour revenir au comportement original: set +x -------------------- Macbook Pro 15" Core 2 Duo 2.33GHz, 3Go RAM, Mac OS X 10.6.8 | Macbook Air 13" mi-2011 Core i5, Mac OS X 10.8
NAS Synology DS-110+ iPhone 6 silver 64Go - forfait SFR Red 3Go |
|
|
Nous sommes le : 19th March 2024 - 08:59 |