En mi archivo .sh no puedo invocar comandos ant o mv o cp, pero los mismos comandos se ejecutan en la terminal. A continuación está mi script
archivo sample.sh
#! /bin/sh
cp filename.so filename_org.so
android update project -p .
ant clean
ant releaseruta agregada en el archivo .bashrc.
export PATH=$PATH:/usr/bin/cp, mv, ant solo funcionan bajo el terminal, no a través de scirpt.

android/ant, ¿están estos binarios en / usr / bin?Respuestas:
Como su script es un script de shell (
/bin/sh), susPATHentradas.bashrcno se leerán, ya que es para el shell interactivobash(/bin/bash).Para que sus
PATHentradas estén disponibles para los/bin/shscripts ejecutados por un usuario específico, agregue laPATHentrada al.profilearchivo en el directorio de inicio de ese usuario.Además, puede agregar la ruta completa para cada uno de sus comandos dentro del script:
O establezca la
PATHvariable que incluye todo lo requerido$PATHSal comienzo de su secuencia de comandos.fuente
PATHen el lugar adecuado en lugar de.bashrc. Cambiar el script para que sea un script bash no hará ninguna diferencia:.bashrcsolo se carga mediante shells interactivos.Tuve el mismo problema al ejecutar un binario cuya ruta se establece en bashrc.
Resolvió el problema haciendo lo siguiente:
Agregue el binario o agregue un enlace al binario en / usr / bin.
Luego verifique usando
Puede eliminar el formulario de entrada bashrc.
fuente
puede hacer una cosa simple si tiene un script pequeño y termina su trabajo lo antes posible
vaya a la línea de comando use el comando debajo
el comando anterior imprimirá la salida, incluido el uso de ruta, ese comando
fuente