web-dev-qa-db-fra.com

Comment puis-je le faire pour pouvoir exécuter un programme spécifique simplement en tapant son nom dans la console?

Je viens tout juste d'installer Light Table en le téléchargeant à partir du référentiel git, et j'ai suivi les instructions de ce site web pour créer un lanceur de bureau.

Maintenant, je veux exécuter le programme en tapant directement dans le terminal

LightTable

et pas

./opt/LightTable/deploy/LightTable
16
dapias

Ceci peut être réalisé grossièrement avec un pseudonyme. Vous pouvez créer un alias bash permanent en ajoutant une seule ligne à votre fichier .bashrc.

Dans le terminal, exécutez nano ~/.bashrc

Ajoutez la ligne suivante en bas:

alias LightTable='/full/path/opt/LightTable/deploy/LightTable'

remarquez que j’ai ajouté le chemin complet au lieu du . afin que cela fonctionne dans n’importe quel répertoire de travail. Fermez et rouvrez le terminal ou exécutez source ~/.bashrc pour recharger le fichier bashrc.

19
Dan

Ce n’est pas une question élémentaire, la meilleure façon de le faire est de créer un alias, par exemple, utiliser des netbeans

Ouvrez le terminal Ctrl+Alt+T

nano ~/.bashrc

écrivez ceci au bas du fichier:

alias netbeans='/home/john/netbeans-7.0.1/bin/netbeans'

Ctrl + x

Y

Enter

Le mot netbeans est la commande que vous utiliserez pour démarrer le programme, vous pouvez le changer pour tout ce dont vous avez besoin. Dans les guillemets se trouve la commande que vous voulez exécuter lorsque l’alias de Netbeans est appelé.

Pour que cette commande soit active, vous devez rouvrir le Terminal

7
Johnn

Vous pouvez essayer de copier l'exécutable vers /usr/bin s'il s'agit d'un simple programme exécutable et qu'il ne dépend d'aucun autre fichier. si cela dépend d'autres fichiers, le mieux est de créer une commande de raccourci vers le programme.

Vous créez vous-même un alias (.bashrc, .profile, etc.). Cependant, je laisse personnellement tous mes variables d'environnement dans mon fichier .bash_aliases (vous devez le créer au début).

Créez le fichier .bash_aliases dans votre dossier HOME et modifiez-le comme bon vous semble. Ensuite, pour créer le raccourci, vous pouvez faire:

alias LightTable='path_to_opt/LightTable/deploy/LightTable'

Enregistrez le fichier et c'est tout.

ps: vous pouvez également définir l'alias Lighttable et LIGHTTABLE au cas où vous auriez oublié de mettre L en majuscule ou si capslock est activé par accident. Vous n'avez donc pas besoin de taper à nouveau la commande.

5
Geo

Je ne suis pas sûr de savoir pourquoi les autres répondants n'ont pas suggéré cela, mais comme l'OP l'a fait remarquer, le fait d'avoir précédé de la variable $PATH aurait été le moyen que j'aurais atteint pour cela:

echo 'PATH=/opt/LightTable/deploy:$PATH' >> ~/.bash_profile
source ~/.bash_profile

Puis courez avec:

LightTable
3
JoeNyland

Mieux vaut créer un lien symbolique qu’un alias, je pense. Un alias peut-être effectue des substitutions sur votre ligne de commande lorsque vous n'en voulez pas; la création d'un lien symbolique vous permettra d'exécuter le programme comme vous le souhaitez:

Sudo ln -s full_path_to_opt/LightTable/deploy/LightTable  /usr/local/bin

Cela créera un raccourci dans/usr/local/bin (qui devrait déjà se trouver dans votre PATH!) Vers l’emplacement actuel de LightTable. Notez également que vous pouvez également renommer le lien symbolique si vous n'aimez pas les lettres majuscules dans "LightTable":

Sudo ln -s full_path_to_opt/LightTable/deploy/LightTable  /usr/local/bin/lighttable

Juste pour référence, si le programme est conçu maladroitement, c’est-à-dire se plaint de ne pas trouver de fichiers de configuration, de bibliothèques ou autre chose, une autre solution qui pourrait être plus utile est la création d’un script wrapper. Pour ce faire, créez simplement un fichier (où que vous soyez pour le moment) appelé "LightTable" (ou ce que vous préférez) avec ceci:

#!/bin/sh
# Simple script to run LightTable
if ! cd full_path_to_opt/LightTable/deploy/LightTable ; then
    echo "$0: error: LightTable directory not found." >&2
    exit 1
fi
exec ./LightTable

Changer les permissions de ce fichier:

chmod 755 <wrapper_script>

et essayez de l'exécuter juste pour voir si ça marche, et si c'est le cas déplacez-le ensuite dans/usr/local/bin:

Sudo mv -i <wrapper_script> /usr/local/bin
2
Zorawar

J'ai essayé de le faire quand j'ai commencé à utiliser Ubuntu. Lorsque vous placez LightTable dans un terminal Il recherche un fichier nommé LightTable dans les répertoires $PATH. vous pouvez mettre echo $PATH pour obtenir les répertoires.

Si vous souhaitez exécuter votre programme LightTable dans ./opt/LightTable/deploy/LightTable, vous devez alors placer votre fichier table lumineuse dans /usr/games or /usr/bin., mais cela nécessite des autorisations de super utilisateur.

ouvrir le terminal avec Ctrl + Alt + T

puis mis

Je préfère créer un raccourci de LightTable en utilisant

Sudo ln -s path/to/LightTable  /usr/games/LightTable

Ensuite, mettez le mot de passe SU. Ensuite, vous pouvez accéder à votre programme en utilisant LightTable dans le terminal

Vous pouvez mettre /usr/bin ou /usr/local/bin à la place de /usr/games, tout ce qui est un répertoire $PATH, il n’est pas nécessaire que ce soit comme ça, mais je vous recommande de le placer dans /usr/local/bin

Je vous recommande également de modifier le fichier de sortie en tant que lightpath au lieu de LightPath

0
Prashanth Sriram