。名称将名为name的文件称为当前shell。所以如果一个文件包含这个
A=hello
那么如果你这样做,那么你可以引用一个名为A的变量,它将包含你的hello。但是,如果您执行文件(给定适当的执行权限和#!/ interpreterline),那么这样的事情将不起作用,因为脚本集中的变量和其他东西只会影响其运行的子shell。
采购二进制文件不会有任何意义:Shell不会知道如何解释二进制文件(请记住,将该文件中出现的内容插入到当前的shell中) – 很像C中的旧的#include< file>机制)。例:
head -c 10 /dev/urandom > foo.sh; . foo.sh # don't do this at home! bash: �ǻD$�/�: file or directory not found
然而,执行二进制文件当然是非常有意义的。所以通常你只想命名你要执行的文件,在特殊情况下,像上面的A = hello case,你想要源文件。