64 votes

Comment exécuter scripts sans taper le chemin complet ?

J'aimerais savoir s'il existe un moyen d'exécuter le programme/Shell Shell sans taper le chemin complet :

/opt/idea/bin/idea.sh

7voto

αғsнιη Points 33236

Nous pouvons définir une fonction et un raccourci clavier d'ajout en utilisant bind pour l'appeler. Ouvrir ~/.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, quand vous appuyez sur F12 votre programme sera lancé.

Note : 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 devrait apparaître. Veillez à remplacer ^[ con \e avant d'ajouter le raccourci à, par exemple, remplacer ^[[24~ con \e[24~ .

5voto

Michel Mesquita Points 511

En plus des autres bonnes réponses, considérez l'établissement d'un lien symétrique dans ~/.local/bin et d'ajouter ce répertoire à votre PATH (à partir de votre répertoire .bashrc par exemple). Cette méthode ne nécessite pas d'autorisations spéciales (contrairement à l'établissement d'un lien symétrique vers /usr/local/bin par exemple). De cette façon, vous pouvez avoir une structure de répertoire standard sans inonder votre $HOME. Pour en savoir plus, consultez ces pages https://unix.stackexchange.com/ questions :

1voto

J.Franks Points 126

Créez un lien logiciel dans /usr/bin direcotyr :

ln -s /usr/bin/idea.sh  /opt/idea/bin/idea.sh

Maintenant, exécutez-le en utilisant :

idea.sh

0voto

Help the Newbie Points 43

Ou vous pouvez simplement utiliser

nano ~/.bashrc

et ajouter

PATH=/full/path/to/file:"$PATH"

à la fin de celui-ci, puis enregistrez et quittez. Ensuite, vous pouvez simplement taper le nom du fichier.

0voto

Manu Järvinen Points 136

J'ai suivi toutes les réponses ici et ailleurs, et si peu d'entre elles mentionnent que vous devez peut-être LOG OUT pour que la commande fonctionne éventuellement.

Juste pour récapituler, surtout pour Xubuntu mais pour d'autres Debian/Ubuntu variants aussi bien que j'ai écrit ces instructions simples.

(dans les instructions suivantes, nous utilisons le répertoire ~/bin car c'est automatiquement l'endroit où ces systèmes d'exploitation recherchent des commandes. Voir ici :

Des instructions infaillibles pour faire fonctionner votre commande :

# 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)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X