padroniza “comando não encontrado” quando executado após declaração de variável

1

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: line 3: defaults: command not found

Quando faço isso em uma linha, funciona

defaults read $PWD/Info

Tudo bem assim. Estou apenas curioso.

    
por Hedge 04.06.2012 / 15:15

2 respostas

5

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

    
por 04.06.2012 / 15:35
3

Adicione ao caminho em vez de substituí-lo:

PATH=$PWD/Info:$PATH
    
por 04.06.2012 / 15:39

Tags