El valor predeterminado es "comando no encontrado" cuando se ejecuta después de la declaración de la variable.

El valor predeterminado es "comando no encontrado" cuando se ejecuta después de la declaración de la variable.

¿Por qué el siguiente código no funciona?

#!/bin/sh
PATH=$PWD/Info
defaults read $PATH

Cada vez que lo ejecuto obtengo

./script: línea 3: valores predeterminados: comando no encontrado

Una vez que lo hago en una línea, funciona.

defaults read $PWD/Info

Está bien así. Tengo curiosidad.

Respuesta1

Porque estás cambiando $PATH, que es una variable especial. El shell usa PATH para buscar programas ejecutables. defaultsProbablemente sea uno de ellos, pero después de eliminar su carpeta de PATH, el shell ya no puede ejecutarlo.

Respuesta2

Agregue a la ruta en lugar de reemplazarla:

PATH=$PWD/Info:$PATH

información relacionada