Je voudrais savoir s’il existe un moyen d’exécuter le script programme / shell sans taper le chemin complet:
/opt/idea/bin/idea.sh
Je voudrais savoir s’il existe un moyen d’exécuter le script programme / shell sans taper le chemin complet:
/opt/idea/bin/idea.sh
Vous pouvez simplement créer lien symbolique . Créez-le en /usr/local/bin
. Tout ce dont vous avez besoin est de lancer la commande:
sudo ln -s /full/path/to/your/file /usr/local/bin/name_of_new_command
Après cela, vous devriez rendre votre exécutable file
:
chmod +x /full/path/to/your/file
Maintenant, vous devriez pouvoir exécuter name_of_new_command
à tout moment dans votre terminal.
Notez que c'est une bonne solution uniquement pour un usage domestique de Linux.
Vous pouvez créer une fonction dans votre ~/.bashrc
:
some-name () {
/path/to/your/file
# or:
#cd /path/to/your
#./path
}
Ou vous pouvez créer un alias
:
alias some-name='/path/to/your/file'
# or
#alias some-name='cd /path/to/your/; ./file'
Dans les deux cas, vous pouvez l'exécuter en appelant:
$ some-name
Si le fichier ne dépend pas de l'emplacement d'exécution, envisagez de l'ajouter à votre ~/bin
:
mkdir -p ~/bin
cp /path/to/you/file ~/bin
# or mv /path/to/you/file ~/bin
# or ln -s /path/to/you/file ~/bin
~/bin
, s’il existe, s’ajoute automatiquement à votre $PATH
. Ensuite, vous appelez directement file
:
$ file
(Mauvais choix de nom, considérez-le comme quelque chose de moins générique.)
Vous pouvez créer un lanceur en utilisant la commande suivante:
gnome-desktop-item-edit --create-new <path-where-to-save>
.
Je vais ouvrir cette fenêtre.
Nommez-le comme vous voulez et dans le type de boîte de commande suivant
sh -c '/opt/idea/bin/idea.sh'
et enregistrez-le.
Maintenant, vous pouvez exécuter ce fichier en utilisant le lanceur nouvellement créé
OU
Vous pouvez créer un fichier .desktop avec le contenu suivant
[Desktop Entry]
Name=<whatever-you-want>
Exec=sh -c '/opt/idea/bin/idea.sh'
Terminal=false
Type=Application
Icon='<path to an icon file if you want>'
Maintenant, sauvegardez-le avec l'extension .desktop
sur n'importe quel endroit.
Rendez-le exécutable avec cette commande chmod a+x <your-desktop-file>
Maintenant, double-cliquez pour l'ouvrir.
Nous pouvons définir une fonction et ajouter un raccourci clavier en utilisant la commande bind
pour l’appeler. Ouvrez le fichier ~/.bashrc
et ajoutez-y ces lignes:
# define function that opens your program in working directory
Openprog(){
/your-Program/path/here
}
# bind hotkey to it (<F12>)
bind -x '"\e[24~":"Openprog"'
Maintenant, lorsque vous appuyez sur F12 , votre programme sera lancé.
Remarque: Un moyen rapide de déterminer le code d'échappement:
Ouvrez votre terminal et appuyez sur Ctrl + V . Appuyez maintenant sur votre raccourci clavier préféré. Le code d'échappement correct doit apparaître. Veillez simplement à remplacer ^[
par \e
avant d'ajouter le raccourci, par ex. remplacez ^[[24~
par \e[24~
.
Nous pouvons également exécuter le fichier /opt/idea/bin/idea.sh
directement en utilisant bash_aliases
Ouvrez le fichier ~/.bashrc
en exécutant,
gedit ~/.bashrc
Supprimez le #
avant les lignes et enregistrez-le pour que les lignes ressemblent,
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Maintenant, ouvrez le fichier ~/.bash_aliases
,
gedit ~/.bash_aliases
Ajoutez les lignes ci-dessous dans ce fichier et enregistrez-le,
alias idea='cd /opt/idea/bin && sudo ./idea.sh'
Enfin, source le fichier ~/.bashrc
,
source ~/.bashrc
Maintenant, vous pouvez exécuter le fichier /opt/idea/bin/idea.sh
directement par,
idea
En plus des autres bonnes réponses, envisagez de créer des liens vers ~/.local/bin
et d’ajouter ce répertoire à votre PATH (à partir de votre .bashrc
par exemple). Cette méthode ne nécessite pas d'autorisations spéciales (contrairement aux liens symboliques vers /usr/local/bin
, par exemple). De cette façon, vous pouvez avoir une structure de répertoire standard sans inonder votre $ HOME. En savoir plus sur ces questions sur ces lien :
Ou vous pouvez simplement utiliser
nano ~/.bashrc
et ajouter
PATH=/full/path/to/file:"$PATH"
à la fin, puis sauvegardez et quittez. Ensuite, vous pouvez simplement saisir le nom du fichier.
Lire d'autres questions sur les étiquettes command-line bash scripts