J'ai une application installée, appelons-la my_app
que je souhaite pouvoir appeler depuis la ligne de commande. Il est situé dans /Applications/my_app.app/Contents/Resources
.
Donc, ce que j'espérais faire, c'était d'avoir le ~/.bashrc
look suivant:
# .bashrc
my_app-start(){
export PATH=$PATH:/Applications/my_app.app/Contents/Resources/
}
et ensuite, chaque fois que je veux pouvoir utiliser l'application depuis une nouvelle session de terminal, je charge un appel my_app-start
après quoi, je m'attends à ce que mon application soit appelable en tapant simplement my_app
n'importe où sur mon système. Cependant, mon terminal ne reconnaît pas la my_app-start
fonction ... Sur une autre plate-forme Linux, cela fonctionne pour moi, mais peut-être que les Mac ont besoin de jouer avec ~ / .bash_profile. Je n'ai jamais compris la différence.
- Comment puis-je rendre la fonction automatiquement appelable?
- Cette méthode est-elle un moyen sûr et judicieux de charger mon application?
la source
Pourquoi ne pas simplement créer un lien symbolique dans
/usr/local/bin
?Vous ne devrez créer aucune fonction dans
.bashrc
En fait, ce que j’ai fait avec les scripts que j’ai écrits et qui ont plusieurs versions, c’est de créer un lien symbolique vers un fichier avec le texte "-latest", puis de copier la dernière version dans ce fichier.
Mon lien symbolique ressemble à ceci:
Chaque fois que j'ai une nouvelle version, je copie simplement
my_app-latest.app
et tout est mis à jour.la source
/usr/local/sbin
, sans/usr/sbin
toutefois que je ne sache pas pourquoi./usr/local/sbin
... entre FreeBSD, OS X, Linux et Windows, il est difficile de les garder tous droits./usr/sbin
n’est pas accessible en écriture sur El Capitan, je l’ai modifiée/usr/local/bin
en réponse.