在 unix 命令行中,通过简单地键入程序名称来执行程序与通过键入 . (点)后跟程序名称?例如。:
runme
vs.
. runme
. name
来源称为文件name
进入当前外壳。所以如果一个文件包含这个
A=hello
然后,如果您获取它,之后您可以引用一个名为的变量A
其中将包含hello。但是如果你执行该文件(给予适当的执行权限并且#!/interpreter
行),那么这样的事情就不起作用,因为脚本设置的变量和其他东西只会影响its它运行在子shell中。
获取二进制文件没有任何意义:Shell 不知道如何解释二进制内容(请记住,它将该文件中出现的内容插入到当前 shell 中 - 就像旧的 shell 一样)#include <file>
C)中的机制。例子:
head -c 10 /dev/urandom > foo.sh; . foo.sh # don't do this at home!
bash: �ǻD$�/�: file or directory not found
然而,执行二进制文件,does当然,这很有意义。因此,通常您只想命名要执行的文件,在特殊情况下,例如A=hello
在上面的情况下,您想要获取一个文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)