# ~/.bashrc introuvable



## caseyce (20 Octobre 2011)

Bonjour,

Je débute en programmation et je suis complètement larguée.

Pour commencer j'ai besoin de faire ça : 

Pour gérer les entrées clavier, nous allons utiliser une classe Console qui ne fait pas par- tie de la bibliothèque Java standard. Elle vous est fournie sous la forme dun fichier darchive Console.jar. Il faut donc dire aux outils Java où trouver cette classe. Aussi, nous allons définir la variable denvironnement CLASSPATH qui liste des répertoires et des fichiers darchives séparés par des « : ». Si votre shell est de la famille csh, vous pouvez faire faire :
setenv CLASSPATH /mnt/n7fs/ens/tp_cregut/libjava/Console.jar:.
Pour éviter davoir à exécuter cette ligne dans tout nouveau terminal, on doit la placer dans le fichier ~/.cshrc.

Mais je suis sur Mac. Mon prof m'a dit de remplacer  ~/.cshrc par  ~/.bashrc et setenv CLASSPATH /mnt/n7fs/ens/tp_cregut/libjava/Console.jar: par export CLASSPATH =mnt/n7fs/ens/tp_cregut/libjava/Console.jar:

Mais cela ne fonctionne pas ! Quelqu'un pourrait-il m'aider ??

Merci d'avance


----------



## ntx (20 Octobre 2011)

Pourquoi ? Le csh ne te plait pas ? Franchement je le préfère au bash. :rateau: (ça t'évitera l'export du bash) Ton prof n'a pas encore découvert que Mac OSX gérait plusieurs types de shell, comme les autres Unix ? Encore un qui a cru avoir appris l'informatique en sortant de l'IUFM :rateau:

Donc tu choisis le shell que tu veux, tu crées le fichier .*rc qui correspond à ce shell si ce fichier n'existe dans dans ton home, et tu y mets la commande qui correspond à ce shell pour stocker ta variable d'environnement.

Quand tu envoies des commandes shell, dans les chemins, tous les caractères ont leur importance notamment le / du début ... 

Et je doute fortement que tu aies sur ta machin le chemin indiqué partant sur /mnt ...


----------



## caseyce (21 Octobre 2011)

Lol non je suppose qu'il sort de l'ENSEEIHT donc c'est pas vraiment l'IUFM... Ceci étant dit pas top de m'induire en erreur comme ça.

Alors je connais pas la différence entre csh et bash parce que je sais même pas ce que c'est ... Dur dur de commencer à zéro.

Alors si je peux rester sur csh c'est cool ! Le fichier n'a pas l'air d'exister alors oui je vais le créer. Je sais que pour créer un dossier c'est mkdir mais un fichier ? Mon home ? Comment "y mettre la commande qui correspond à ce shell pour stocker ta variable d'environnement" ? 

Merci pour votre aide en tout cas maaais j'ai presque rien compris ^^


----------



## ntx (21 Octobre 2011)

caseyce a dit:


> Alors si je peux rester sur csh c'est cool !


Pour fixer le shell une fois pour toute : Préférences système / Comptes, tu déverrouilles le cadenas avec ton mot de passe admin, clic droit sur le compte à modifier, Options avancées et tu as accès à un formulaire où tu peux changer le shell par défaut pour ce compte.

Dans un terminal : "csh" tu feras passer dans un shell "csh", "exit" pour un ressortir.


> mais un fichier ?


touch <nom de ton fichier>

Attention les fichiers invisibles ne sont pas par défaut éditables en mode "fenêtre".



> Mon home ?


Ton "dossier de départ"; la petite maison de ton Finder ou le dossier dans lequel tu vas te trouver quand tu démarres un terminal. "pwd" pour vérifier le chemin du dossier courant.


> Comment "y mettre la commande qui correspond à ce shell pour stocker ta variable d'environnement" ?


"man csh" pour le mode d'emploi.

Pour le csh : "setenv <le nom de la variable> <la valeur de la variable>"

Quand tu ajoutes des variables à ton fichier .*rc, il faut le "recharger" pour que les changements soient pris en compte dans le shell courant (ils le seront automatiquement dans les shells que tu ouvriras par la suite) : "source <nom du fichier rc>".


----------



## darkrebelion (22 Octobre 2011)

Le bashrc se trouve dans /etc.
J'ai pas réussie à mettre le CLASSPATH non plus. Mais pour compiler des programmes avec des Classes supplémentaires, je les mets dans le même fichier que mon programme à compiler et je met au début du programme : import NomDeClasse;
Rudimentaire, mais quand on a vraiment besoin de compiler, c'est utile.


----------



## ntx (22 Octobre 2011)

darkrebelion a dit:


> Le bashrc se trouve dans /etc.


*Un utilisateur n'a pas à toucher à ce qu'il y a dans "/etc" !!!*

Ce fichier est utiliser par l'OS pour initialiser les shells de *tous* les utilisateurs, il ne faut pas y toucher !!!

Et pour ta compilation, cela fait un semaine qu'on essaie de t'expliquer comment faire, il serait temps de s'y mettre et d'essayer de comprendre de quoi on parle au lieu de te lancer dans le n'importe quoi.


----------



## darkrebelion (23 Octobre 2011)

Alors excuse moi, mais le titre de ce sujet est "~/.bashrc introuvable". Je pense que c'est donc naturel de lui dire où se trouve le bashrc...
Sous Linux, c'est le bashrc qui initialise le CLASSPATH. D'où le nombre de personnes qui demandent sous MacOS X où se trouve ce fichier.
Et après désolé si je n'ai pas compris le pourquoi du comment mettre un CLASSPATH sous MacOS X, mais si c'est pour me faire cracher dessus de la sorte, je ferait mieux de retourner sous Debian.


----------



## ntx (23 Octobre 2011)

darkrebelion a dit:


> Alors excuse moi, mais le titre de ce sujet est "~/.bashrc introuvable". Je pense que c'est donc naturel de lui dire où se trouve le bashrc...


*NON !!!!* Tu confonds ce fichier /etc/bashrc et le fichier ~/.bashrc : ce sont deux choses différentes. Le point devant n'est pas optionnel ! Alors arrêtes d'induire les gens en erreur ! Et essaie de comprendre l'architecture des dossiers UNIX, que ce soit Linux ou Mac OSX, cela fonctionne de la même manière. Et quelque soit l'UNIX, un utilisateur lambda n'a pas à tripoter des fichiers dans /etc 


> Sous Linux, c'est le bashrc qui initialise le CLASSPATH. D'où le nombre de personnes qui demandent sous MacOS X où se trouve ce fichier.


Non, une fois de plus et on te l'a déjà expliqué. Tu peux, *et je dit bien peux et pas dois*, définir la variable CLASSPATH dans  le fichier .*rc qui correspond au shell que tu utilises et pas dans .bashrc. Mais si tu bloques la dessus, il est aussi tout à fait possible de passer cette valeur en paramètre de ta ligne de commande javac.

Et arrêtez cette comparaison Debian, Linux ou Mac OSX : tous les UNIX marchent de la même manière pour ces aspects shell ! Et si tu n'arrives pas à reproduire chez toi ce qu'on t'a montré en cours, c'est que tu n'as pas bien compris, tout simplement.


----------



## caseyce (26 Octobre 2011)

Désolé je n'avais pas vu les réponses et je vous en remercie ! 




ntx a dit:


> Attention les fichiers invisibles ne sont pas par défaut éditables en mode "fenêtre".
> 
> ...
> 
> Quand tu ajoutes des variables à ton fichier .*rc, il faut le "recharger" pour que les changements soient pris en compte dans le shell courant (ils le seront automatiquement dans les shells que tu ouvriras par la suite) : "source <nom du fichier rc>".



Effectivement le fichier ~/.cshrc. est introuvable "à la main" mais quand je met dans le terminal : "find ~/.cshrc." il le trouve (/Users/Emily/.cshrc.) donc je suppose que je n'ai pas besoin de le créer (même si j'ai essayé quand même mais je n'ai rien vu dans le dossier créé exprès). 

Dans la mesure où je ne vois pas ce fichier je ne vois pas comment placer une ligne de commande dedans, ceci étant dit j'ai quand même tapé cette commande dans terminal, il ne s'est rien passé et ensuite je l'ai rechargé mais j'ai toujours ce message d'erreur : 

Pgcd.java:13: cannot find symbol
symbol  : variable Console
location: class Pgcd
	a = Console.readInt();
	    ^


Alors je ne sais pas trop quoi faire.


----------



## Etoile d'araignee (26 Octobre 2011)

caseyce a dit:


> Effectivement le fichier ~/.cshrc. est introuvable "à la main" mais quand je met dans le terminal : "find ~/.cshrc." il le trouve (/Users/Emily/.cshrc.) [...]



Quand tu dis 'à la main', tu veux dire avec la commande *ls*?
Parceque, au cas où, par défaut, la commande *ls* n'affiche pas les fichiers cachés . Tous les fichiers commencant par un point sont cachés, et pour les voir, il faut ajouter le paramètre -a.
Quand tu es dans ton 'home' (~/ ou pour toi, /Users/Emily/), tu fais *ls -a* et tu devrais voir .*cshrc* .


----------



## shub2 (1 Novembre 2011)

Etoile d'araignee a dit:


> Quand tu dis 'à la main', tu veux dire avec la commande *ls*?
> Parceque, au cas où, par défaut, la commande *ls* n'affiche pas les fichiers cachés . Tous les fichiers commencant par un point sont cachés, et pour les voir, il faut ajouter le paramètre -a.
> Quand tu es dans ton 'home' (~/ ou pour toi, /Users/Emily/), tu fais *ls -a* et tu devrais voir .*cshrc* .



Petite commande pratique: la commande '*ls -Gal **' affiche TOUS les fichiers et directories  présentes au premier niveau, mais non cachés normalement.
Y'a des jolies couleurs aussi ...


----------



## shub2 (23 Novembre 2011)

Envoyé par ntx 
Attention les fichiers invisibles ne sont pas par défaut éditables en mode "fenêtre".


Oui mais il les ont par sudo emacs [nom de fichier _invisible] ou bien en faisant glisser l'icône de ton fichier invisible dans *BBedit*. Pas conseillé de le faire sur Textedit , il rajoute des carcatères spéciaux de mise en forme etc. Quand tu dis 'éditables en mode "fenêtre"', tu veux dire avec la commande *ls*?


Quand tu dis 'à la main', tu veux dire avec la commande ls?
Parce que, au cas où, par défaut, la commande ls n'affiche pas les fichiers cachés .Parce que, au cas où, par défaut, la commande ls n'affiche pas les fichiers cachés .

la commande *ls -Gal *les affiche très bien. Avec des jolies couleurs. Il y a aussi *ls ** qui explore les sous-directories.


----------



## ntx (23 Novembre 2011)

shub2 a dit:


> Quand tu dis 'éditables en mode "fenêtre"', tu veux dire avec la commande *ls*?


Non, je voulais juste dire qu'ils ne seront pas visibles et donc pas éditables avec une application à partir du Finder. Il faut soit, comme tu l'as souligné, passer par le terminal, soit les rendre "visibles" dans le Finder, ça Onyx doit savoir le faire.


----------



## shub2 (23 Novembre 2011)

Heu ... BBedit affiche très bien les fichiers invisibles, mais encore faut-il les voir effectivement. Il est cher ceci dit , ce petit bijou et je l'ai par mon job ! 

Une commande UNIX depuis Terminal  du genre peut y arriver:

cat .profile | bbedit

Ça évite de passer par _emacs_ ou _sed_ ou _vim_ ou _awk_ et toutes ces commandes UNIX tordues et compliquées.


----------



## grumff (25 Novembre 2011)

shub2 a dit:


> Heu ... BBedit affiche très bien les fichiers invisibles, mais encore faut-il les voir effectivement. Il est cher ceci dit , ce petit bijou et je l'ai par mon job !



BBEdit, cher ? Il y a 10 ans il coûtait un bras, mais il me semble l'avoir acheté récemment sur le macappstore autour de 20 euros.

---------- Nouveau message ajouté à 19h55 ---------- Le message précédent a été envoyé à 19h53 ----------




shub2 a dit:


> cat .profile | bbedit


C'est un peu tordu comme commande, "bbedit .profile" m'aurait semblé plus logique.


----------



## tatouille (1 Décembre 2011)

touch .profile BSD spirit


----------

