Em foo.sh , tenho alguns comandos (ou funções) divididos em várias linhas e comentários adicionados, para facilitar a leitura:
#!/bin/zsh
#
# foo.sh: print computer information
foo() {
uname \
-p `# processor arch` \
-s `# os name` \
-v `# os version`
}
foo
O que funciona
Eu posso executá-lo bem:
$ ./foo.sh
Darwin 123... (correct output)
O que não funciona
Mas se eu o originar com source
ou .
, meu shell relatará o seguinte erro, embora o comando seja executado com êxito com meus argumentos especificados ( -psv
):
% . ./foo.sh
./foo.sh:2: command not found: #
./foo.sh:2: command not found: #
./foo.sh:2: command not found: #
Darwin 123... (correct output as before)
Eu me pergunto por que isso acontece? E como faço para corrigir? Porque meu objetivo principal é definir algumas funções, originá-las e chamá-las no shell conforme necessário. Obrigada!