在foo.sh中,为了便于阅读,我将一些命令(或函数)拆分为多行并添加了注释:
#!/bin/zsh
#
# foo.sh: print computer information
foo() {
uname \
-p `# processor arch` \
-s `# os name` \
-v `# os version`
}
foo
什么有效
我可以正常运行:
$ ./foo.sh
Darwin 123... (correct output)
什么不起作用
但是,如果我使用source
or获取它.
,我的 shell 会报告以下错误,尽管它自己的命令使用我指定的参数 ( -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)
我想知道为什么会这样?我该如何解决?因为我的主要目标是定义一些函数,获取它们,并根据需要在 shell 中调用它们。谢谢!