Comment exécuter des scripts sans taper le chemin complet?

44

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
    
posée Poorman_Patrick 01.03.2014 - 08:05
la source

9 réponses

49

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.

    
réponse donnée c0rp 22.09.2014 - 10:43
la source
23

Vous pouvez ajouter /opt/idea/bin à votre variable PATH :

PATH=/opt/idea/bin:"$PATH"

Après cela, vous pouvez l'exécuter avec simplement idea.sh .

Vous souhaitez probablement ajouter cette ligne dans votre fichier ~/.bashrc .

    
réponse donnée janos 01.03.2014 - 08:16
la source
14

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

    
réponse donnée muru 22.09.2014 - 10:34
la source
10

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.

    
réponse donnée g_p 01.03.2014 - 08:33
la source
7

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~ .

    
réponse donnée αғsнιη 22.09.2014 - 10:37
la source
7

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
    
réponse donnée Avinash Raj 01.03.2014 - 10:12
la source
4

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 :

réponse donnée abstrus 04.08.2015 - 05:48
la source
1

Créez un lien vers le bas dans /usr/bin direcotyr:

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

Maintenant, lancez-le en utilisant:

idea.sh
    
réponse donnée J.Franks 02.12.2016 - 22:44
la source
0

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.

    
réponse donnée Help the Newbie 02.05.2018 - 08:26
la source

Lire d'autres questions sur les étiquettes