J'aimerais savoir s'il existe un moyen d'exécuter un script programme/shell sans taper le chemin complet:
/opt/idea/bin/idea.sh
Vous pouvez simplement créer lien symbolique . Créez-le dans /usr/local/bin
. Tout ce dont vous avez besoin est d’exécuter la commande:
Sudo ln -s /full/path/to/your/file /usr/local/bin/name_of_new_command
Après cela, vous devriez rendre votre file
exécutable:
chmod +x /full/path/to/your/file
Vous devriez maintenant pouvoir exécuter name_of_new_command
à tout moment dans votre terminal.
Notez que c'est une bonne solution uniquement pour une utilisation domestique de Linux.
Vous pouvez ajouter /opt/idea/bin
à votre variable PATH
:
PATH=/opt/idea/bin:"$PATH"
Après cela, vous pouvez simplement l'exécuter avec idea.sh
.
Vous voudrez probablement ajouter cette ligne dans votre fichier ~/.bashrc
.
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 le lancer en appelant:
$ some-name
Si le fichier ne dépend pas de son emplacement, 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, est ajouté automatiquement à votre $PATH
. Ensuite, vous appelez directement file
:
$ file
(Mauvais choix de nom, pensez à l'appeler 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 bon vous semble 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éé
OR
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, enregistrez-le avec l'extension .desktop
n'importe où.
Rendez-le exécutable avec cette commande chmod a+x <your-desktop-file>
Maintenant, double-cliquez pour l'ouvrir.
Nous pouvons également exécuter le fichier /opt/idea/bin/idea.sh
directement à l'aide de bash_aliases
Ouvrez le fichier ~/.bashrc
en exécutant,
gedit ~/.bashrc
Supprimez le #
avant les lignes et enregistrez-le afin 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, sourcez le fichier ~/.bashrc
,
source ~/.bashrc
Maintenant, vous pouvez exécuter le fichier /opt/idea/bin/idea.sh
directement par,
idea
Nous pouvons définir une fonction et un raccourci clavier Add en utilisant la commande bind
pour l'appeler. Ouvrez le fichier ~/.bashrc
et ajoutez-y la ligne suivante:
# 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, quand 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. Maintenant, appuyez sur votre raccourci clavier préféré. Le code d'échappement correct devrait apparaître. Assurez-vous simplement de remplacer ^[
par \e
avant d’ajouter le raccourci à, par exemple. remplacez ^[[24~
par \e[24~
.
En plus des autres bonnes réponses, pensez à créer un lien symbolique dans ~/.local/bin
et à ajouter ce répertoire à votre PATH (à partir de votre .bashrc
par exemple). Cette méthode ne nécessite pas d'autorisations spéciales (contrairement à la création de 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 à ce sujet sur ces https://unix.stackexchange.com/ questions:
Créez un lien symbolique dans le répertoire /usr/bin
:
ln -s /usr/bin/idea.sh /opt/idea/bin/idea.sh
Maintenant, lancez-le en utilisant:
idea.sh
Ou vous pouvez simplement utiliser
nano ~/.bashrc
et ajouter
PATH=/full/path/to/file:"$PATH"
à la fin, sauvegardez et quittez. Ensuite, vous pouvez simplement taper le nom du fichier.
J'ai suivi toutes les réponses ici et à d'autres endroits et si peu omettent de mentionner qu'il vous faudra peut-être SE DÉCONNECTER pour que la commande fonctionne.
Pour récapituler, en particulier pour Xubuntu , mais pour d’autres Debian/Ubuntu variantes ainsi j'ai écrit ces instructions simples.
(Dans les instructions suivantes, nous utilisons le répertoire ~/bin , car il s’agit automatiquement d’un emplacement à partir duquel les systèmes d’exploitation recherchent des commandes. Voir ici:
# Open Terminal with Ctrl + Alt + T (or your system's own shortcut)
# You'll work in your home folder, no need to use Sudo for any of this
cd # Go to home directory
mkdir -p bin # Create folder ~/bin if it doesn't exist
# Be careful not to type /bin, that's the bin folder in system root: /
Sudo apt install nano # Skip this if you have Nano installed
nano bin/yournewcommand
# In Nano, type:
printf "Your new command works! \n" # \n means line break
# Ctrl+X To leave Nano
# Ctrl+Y To save the unsaved file
# Enter to confirm
chmod +x bin/yournewcommand
yournewcommand # If you just created the bin folder, this command might not yet work.
# You must now log out and log back in to make the bin folder noticed (I think)
yournewcommand # Now it works! (You can use Tab to autocomplete the command you're typing)
# If you add a second file/command, it should work without logging out (at least in my tests)