Tenho um arquivo no Ubuntu que não está funcionando source
e não tenho ideia do que está acontecendo.
$ cat .broken_file
export D='222'
$ cat .working_file_1
export D='88'
$ D=5
$ echo $D
5
$ source .working_file_1
$ echo $D
88
$ source .broken_file
$ ## What is happening here? It should be 222
$ echo $D
88
Agora, ambos os arquivos têm as mesmas permissões:
$ ll .working_file_1 .broken_file
-rw-rw-r-- 1 my_user my_user
-rw-rw-r-- 1 my_user my_user
Além disso, se eu copiar o arquivo quebrado, o novo arquivo simplesmente funcionará:
$ cp .broken_file .broken_file_copy
$ source .broken_file_copy
$ echo $D
222
Portanto, também não é o conteúdo do arquivo.
Posso modificar meu .broken_file (alterando nomes de variáveis e valores) e ele ainda falha.
$ echo $SHELL
/bin/bash
$ echo $BASH_VERSION
5.1.16(1)-release
$ uname -srv
Linux 6.2.0-26-generic #26~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Jul 13 16:27:29 UTC 2
Alguma ideia do que isso pode ser?
Update : type
retorna algumas informações estranhas (não sei como interpretar isso):
$ type .broken_file
.broken_file is DIFFERENT_FOLDER/.broken_file
$ type .broken_file_copy
bash: type: .broken_file_copy: not found
Você tem um arquivo
PATH
com o mesmo nome? Informações dos documentos do Bash emsource
:Tente verificar com
Em vez disso, isso pode funcionar: