微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

unix命令行执行 (点)与无

在unix命令行中,通过简单地键入它的名字来执行程序,而不是通过键入a来执行程序有什么区别。 (点)后跟程序名称?例如。:
runme

. runme
名称将名为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,你想要源文件

原文地址:https://www.jb51.cc/bash/388079.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐