1 votos

bash no encuentra ejecutables en Catalina: ¿por qué y cómo solucionarlo?

Mientras escribía el título, vi una sugerencia de que esto podría ser un duplicado de. Pero la sugerencia desapareció antes de que pudiera hacer clic en ella.

'sh' es realmente bash

 sh: sleep: command not found
sh: dirname: command not found
sh: dirname: command not found
sh: sleep: command not found
sh: dirname: command not found
^C
sh-3.2# echo $path
/usr/local/bin /usr/bin /bin /usr/sbin /sbin
sh-3.2# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
sh-3.2# which dirname
/usr/bin/dirname
sh-3.2# which sleep
/bin/sleep
# the command that got those error messages was:
sh-3.2# grep -v copy /tmp/tmp | while read PATH; do dirname "$(dirname "$PATH")"; sleep 1; done
 

Todas las actualizaciones disponibles instaladas. 10.15.2

1voto

Nate Puntos 220

Esto es debido al uso de la variable especial PATH (en while read PATH). PATH es utilizado por el sistema como una lista de directorios para encontrar comandos ejecutables, si no el punto de la habitual de los binarios de los directorios, el sistema operativo no será capaz de encontrar los comandos más.

Solución: utilizar diferentes (preferiblemente inferior o mayúsculas) nombre de la variable.

Hay unos cuantos que todo mayúsculas los nombres de las variables con algún tipo de significado especial para el shell, el sistema operativo o varios comandos de sí mismos. Para evitar caer en conflictos y consecuencias no deseadas como este, lo mejor es evitar todo mayúsculas los nombres de las variables en el shell scripts (a menos que usted quiere que el significado especial). De hecho, de acuerdo con el estándar POSIX para las variables de entorno:

El nombre de espacio de nombres de variable de entorno que contiene minúsculas cartas está reservado para las aplicaciones. Las aplicaciones pueden definir cualquier las variables de entorno con los nombres de este espacio de nombres sin modificar el comportamiento de las utilidades estándar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X