Estou tentando originar (bash-parlance) um arquivo em dash usando . file
conforme especificado pela página man:
. file The commands in the specified file are read and executed by the shell.
Mas recebo um erro mesmo que o arquivo esteja lá :
$ ls
defaults.sh run.sh
$ cat run.sh
#!/bin/sh
. defaults.sh
echo "VAR: $VAR"
$ cat defaults.sh
VAR=abc
$ bash run.sh
VAR: abc
$ dash run.sh
run.sh: 3: .: defaults.sh: not found
A mesma coisa acontece quando eu tento . defaults.sh
em um traço interativo.
Onde estou errando aqui?
Para alguns shells, você precisa colocar
./
ou um caminho absoluto na frente:Observe que você pode querer adicionar o caminho absoluto do
run.sh
script , caso contrário,defaults.sh
será originado da localização do usuário:Tente adicionar $PWD ao seu PATH se estiver executando "dash run.sh" do diretório onde existem os arquivos run.sh e defaults.sh.
No meu teste eu vi estes resultados:
Então dei este passo:
Resultados após adicionar $PWD ao PATH: