quando escrevo no terminal
echo $PATH
minha saída é
:/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin
mas quando escrevo apenas:
$PATH
essa saída eu não entendi direito, a saída é:
bash: :/home/bo/bin:/usr/local/bin:/usr/sbin:/usr/local/sbin:/usr/bin:/sbin:/bin: No such file or directory
e minha pergunta é: por que ele escreveu "Esse arquivo ou diretório não existe?" Todo diretório da variável PATH existe.
$PATH
essencialmente imprimiria a variável na tela sem tentar executá-la, no entanto, esse não é o caso.No Linux, o terminal está esperando por um
command
$ PATH não é um comando, é umvariable
.Quando você escreve,
echo $PATH
está perguntando o conteúdo da variável e com o comandoecho
mostrando na tela.fonte
A variável
$PATH
contém vários diretórios separados por dois pontos. O shell espera um arquivo executável ou outro comando (por exemplo, um comando interno do shell, comocd
) como entrada. Comandos comols
ecat
são apenas executáveis localizados em um dos diretórios $ PATH. Vários diretórios encadeados por dois pontos geralmente não formam um caminho de arquivo UNIX adequado. Aviso: se você inserir apenas um dos diretórios sem dois pontos, obterá uma saída diferente.fonte