2016-12-01 1 views
-1

Quand je lance open .bash_profile un nouveau terminal ouvre et.bash_profile ne s'ouvre

Last login: Wed Nov 30 19:01:22 on ttys004 
/Users/MyName/.bash_profile ; exit; 
➜ ~ /Users/MyName/.bash_profile ; exit; 

[Process completed] 

Mes autorisations sont

[email protected] 1 MyName staff  639 Nov 30 19:02 .bash_profile 

Aussi, quand je lance ls -la, .bash_profile est de couleur rouge. Je ne sais pas pourquoi. Ce n'était pas comme ça avant.

Tout ce que j'essayais de faire était de créer un alias, mais maintenant je ne peux même pas ouvrir mon .bash_profile.

Répondre

2

tl; dr

Pour vous assurer que vous ouvrez un fichier dans votre éditeur de texte par défaut en utilisant l'icône MacOs open CLI, utilisez:

open -t ~/.bash_profile 

Dans le cas contraire, si le fichier n'a pas besoin être excecutable, exécuter chmod -x <file> (chmod -x ~/.bash_profile, dans ce cas) pour faire open se comporter comme il le faisait auparavant.


De votre question, je suppose que vous êtes sur macOS (OS X).

Ce que le macOS open CLI fait lorsqu'il est passé d'un fichier dépend du suffixe du fichier (extension), et, en l'absence d'un, si le fichier a exécutable peu (r) des autorisations (s) ensemble (sinon, le fichier s'ouvre dans l'éditeur de texte standard, ce que vous avez vu précédemment).

Un fichier dans l'affichage rouge lorsque vous utilisez ls -a (le -a étant nécessaire pour afficher les éléments cachés tels que .bash_profile), implique que le fichier est effectivement exécutable par vous.

Un suffixe moins fichier exécutable (texte) provoque open de l'exécuter dans une nouvelle fenêtre de terminal comme un script shell , qui est ce que vous voyez. En d'autres termes: à un moment donné, à votre insu, des autorisations exécutables ont été attribuées à ~/.bash_profile, ce qui explique le changement de comportement.

Cependant, il n'y a pas besoin pour ~/.bash_profile être exécutable, car il est sourced par Bash au démarrage.

Comme indiqué ci-dessus, supprimez les autorisations exécutables ou utilisez simplement open -t pour l'ouvrir.