#/bin/python是运行什么命令的?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了#/bin/python是运行什么命令的?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1674字,纯文字阅读大概需要3分钟。
内容图文
![#/bin/python是运行什么命令的?](/upload/InfoBanner/zyjiaocheng/436/dac64ef0443b412ba9cf0b6227924084.jpg)
初学Python,练习的时候遇到这个,被鄙视,呜呜~~~~~~~~~~~~~~恨没姿势,求涨~~
回复内容:
首先,楼主,你打漏了一个字符,正确的是#!/bin/python
要了解这行是干啥用的,得先了解一个“魔数(magic number)”的概念。
每一种文件,在文件开头,都有一个标识文件类型的字节序列,标识这个文件是什么类型的。这个字节序列叫““魔数”。
像unix下的脚本,这个魔数就是"#!"。这个魔数的英文名叫“Shebang”。
操作系统的文件解释器在加载文件时,先要判断文件是什么类型的,然后再加载特定的文件解释器,来解读这个文件。操作系统的文件解释器判断的依据,就是看这个魔数。
所以,当看到"#!"时,操作系统的文件解释器知道这是一个“脚本”。
那具体用哪一种脚本解释器呢?它继续读。
结果发现/bin/python。
也就是要用/bin/python 这个路径下的一个叫“python”的解释器来解释这个文件。
于是操作系统的文件解释器就加载了这个python解释器。 然后操作系统的文件解释器任务就完成了。
当python解释器被加载运行后,它自己来解释这个文件。
这时,它看到第一行: #!/bin/python
它认得一开头的#是标记注释行开始的记号,所以它认为这是一行注释,就直接跳过。
然后开始执行后续的真正的python指令。
综上,这一行,被两个层次的解释器以不同的形式解释。 这就是一行注释!
在#后面加上!才是解释器定义。 这是你在linux/unix系统下运行一个脚本的时候,告诉系统用什么解释器来运行脚本用的
比如你执行一个脚本
$ ./script
#!/bin/python 不是命令,是定义Python解释器位置的。就是告诉系统在什么地方可以找到用于这个脚本的Python解释器。比如,#!/bin/python3 是定义Python3位置的。
我一般这么写,#!/use/bin/env python
这样可以让系统协助寻找Python解释器,可以在多个系统里面通用。 你用的什么教材?换一本吧,没解释这句的书就不用看了 提醒 UNIX系统 用 /bin/python 来解释执行这个脚本
head -1 abc.sh
#! /bin/bash
内容总结
以上是互联网集市为您收集整理的#/bin/python是运行什么命令的?全部内容,希望文章能够帮你解决#/bin/python是运行什么命令的?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。