J'ai l'habitude de mettre des scripts communs /usr/local/bin
pour pouvoir les exécuter de n'importe où avec le terminal.
Par exemple, je crée un script shell nommé 1
, le rend exécutable avec chmod +x 1
et le mets /usr/local/bin
, et à l'intérieur du script que je tape #!/bin/sh
sur la première ligne, puis mes commandes. À partir de là, il est très pratique et rapide à exécuter en tapant
1
Enter
sur le terminal, depuis n'importe quel dossier.
Mon problème est que je travaille actuellement sur un ordinateur où sudo
je ne peux pas le faire et je ne peux pas m'attendre à l'obtenir non plus, donc je ne peux pas y placer mon script /usr/local/bin
.
Quelles sont mes options? Existe-t-il un autre chemin d'accès avec la même fonctionnalité "exécuter à partir de n'importe où", auquel je peux accéder sans sudo
, ou une autre façon d'obtenir quelque chose d'équivalent?
La réponse acceptée à ce message dit
Pour les scripts à portée utilisateur, utilisez bin / dans votre répertoire personnel.
Ce que j'ai essayé, mais il n'y a pas de bin
dossier dans mon répertoire personnel, et quand j'en ai créé un, je ne pouvais toujours pas exécuter le script ailleurs.
Je cours sur Ubuntu 12.04 LTS.
la source
expr 1 + 1
affecté par la présence d'un script nommé1
?expr
, ni arithmétique bash$(( 1 + 1 ))
.Réponses:
Comment faire?
Créez un répertoire dans votre maison pour contenir vos scripts normalement nommés
bin
comme convention.Déplacez maintenant vos scripts vers bin
Maintenant, comment le faire tuner de partout?!
Vous devez ajouter le
bin
au CHEMINOuvrez votre
.bashrc
et ajoutez cette ligne:
N'oubliez pas de remplacer
username
par votre nom d'utilisateurEnregistrez et quittez, puis sourcez le bashrc
et maintenant vous allez bien, vous pouvez exécuter votre script comme vous le faisiez! mais vous devez remarquer que cela ne concerne que votre utilisateur.
Remarque: il est préférable de renommer vos scripts autres que 1, 2 car vous pouvez rencontrer des problèmes avec ces noms
MISE À JOUR:
Vous pouvez faire de même, il suffit de créer le répertoire bin dans votre maison puis
source ~/.profile
au lieu de~/.bashrc
. Puisque l'ajout de ~ / bin à votre CHEMIN est déjà répertorié dans.profile
la source
export PATH=$PATH:$HOME/bin
donc je peux utiliser le même bashrc pour d'autres comptes avec des noms d'utilisateur différents.~/bin
est$PATH
par défaut sur Ubuntu. Exécutezsource ~/.profile
ou déconnectez-vous après avoir créé le répertoire.source ~/.profile
. Voir (par exemple) ici: askubuntu.com/a/247422/72216~/.profile
, il n'a jamais dit source~/.bashrc
. :) En outre, en règle générale, les variables environnementales devraient aller dans.profile
et non ,.bashrc
car ils ne doivent être mis en place une fois. (rien de tout cela ne veut dire que votre réponse n'est pas bonne, je vous en prie, et +1 de ma part)En plus de /ubuntu//a/643030/218015, vous pouvez également définir un alias à l'intérieur de votre .bashrc pour les petites tâches souvent utilisées. Par exemple
va vous créer une "commande" ll, qui fait ls -l et ls sera coloré après avoir défini l'alias. https://wiki.ubuntuusers.de/alias propose d' autres exemples et un guide pour le configurer.
la source