Dans mon fichier .sh, je ne peux pas invoquer les commandes ant ou mv ou cp mais les mêmes commandes s'exécutent sur terminal.below est mon script
fichier sample.sh
#! /bin/sh
cp filename.so filename_org.so
android update project -p .
ant clean
ant release
chemin ajouté dans le fichier .bashrc.
export PATH=$PATH:/usr/bin/
cp, mv, ant ne fonctionnent que sous terminal et non via scirpt.
android
/ant
, ces binaires sont-ils dans / usr / bin?Réponses:
Comme votre script est un script shell (
/bin/sh
), vosPATH
entrées.bashrc
ne seront pas lues comme c'est le cas pour le shell interactifbash
(/bin/bash
).Pour rendre vos
PATH
entrées disponibles pour les/bin/sh
scripts exécutés par un utilisateur spécifique, ajoutez l'PATH
entrée au.profile
fichier dans le répertoire de base de cet utilisateur.De plus, vous pouvez ajouter le chemin complet pour chacune de vos commandes dans le script:
Ou définissez la
PATH
variable, y compris tous les éléments requis$PATHS
au début de votre script.la source
PATH
au bon endroit au lieu de.bashrc
. Changer le script en script bash ne fera aucune différence: il.bashrc
n'est chargé que par des shells interactifs.A eu le même problème lors de l'exécution d'un binaire dont le chemin est défini dans bashrc.
Résolu le problème en procédant comme suit:
Ajoutez le binaire ou ajoutez un lien vers le binaire dans / usr / bin.
Vérifiez ensuite en utilisant
Vous pouvez supprimer le formulaire de saisie bashrc.
la source
vous pouvez faire une chose simple si vous avez un petit script et terminer votre travail dès que possible
aller en ligne de commande utiliser la commande ci-dessous
la commande ci-dessus imprimera la sortie, y compris le chemin, utilisez cette commande directement
la source