o padrão é "comando não encontrado" quando executado após a declaração da variável

o padrão é "comando não encontrado" quando executado após a declaração da variável

Por que o código a seguir não funciona?

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

Toda vez que eu executo eu recebo

./script: linha 3: padrões: comando não encontrado

Depois de fazer isso em uma linha, funciona

defaults read $PWD/Info

Assim ta bom. Eu só estou curioso.

Responder1

Porque você está mudando $PATH, que é uma variável especial. O shell usa PATH para pesquisar programas executáveis. defaultsé provavelmente um deles, mas após remover sua pasta do PATH, o shell não poderá mais executá-lo.

Responder2

Adicione ao caminho em vez de substituí-lo:

PATH=$PWD/Info:$PATH

informação relacionada