shebang是啥
在计算领域中,Shebang(也称为 Hashbang )是一个由井号和叹号构成的字符序列 #!
,其出现在文本文件的第一行的前两个字符。 在文件中存在 Shebang 的情况下,类 Unix 操作系统的程序加载器会分析 Shebang 后的内容,将这些内容作为解释器指令,并调用该指令,并将载有 Shebang 的文件路径作为该解释器的参数[1]。
例如,以指令#!/bin/sh
开头的文件在执行时会实际调用/bin/sh程序(通常是 Bourne shell 或兼容的 shell,例如 bash、dash 等)来执行。这行内容也是 shell 脚本的标准起始行。
由于 #
符号在许多脚本语言中都是注释标识符,Shebang 的内容会被这些脚本解释器自动忽略。 在 #
字符不是注释标识符的语言中,例如 Scheme,解释器也可能忽略以 #!
开头的首行内容,以提供与 Shebang 的兼容性[2]。
"Shebang" 或者说 "Hashbang" 的名字有时也被当做 Ajax 应用程序中的 分段标识符,用于浏览器的状态保存;Google 网站站长中心提到,以叹号开头的分段标识符(即 ...url#!state... )会为 Google 的网页爬虫所索引。
转自https://zh.wikipedia.org/wiki/Shebang
shebang是啥的更多相关文章
- (转)Linux上的Shebang符号(#!)
https://linux.cn/article-3664-1.html 本文了将给你简单介绍一下Shebang(”#!”)这个符号. 首先,这个符号(#!)的名称,叫做”Shebang”或者”Sha ...
- [linux-脚本]shebang(shabang #!)
使用Linux或者unix系统的人们对#!这个符号都不陌生,但要说出个具体的所以然来,很多人估计还真不行,我们有必要就此整理一下.Shebang这个符号通常在Unix系统的脚本中第一行开头中写到,它指 ...
- Bash Shebang 小结
在 shell(Bash 是一种 shell) 中执行外部程序和脚本时,Linux 内核会启动一个新的进程,以便在新的进程中执行指定的程序或脚本.内核知道该如何为编译型的程序做这件事,但是对于脚本程序 ...
- Shebang(#!)[转]
原博文 使用Linux或者unix系统的同学可能都对#!这个符号并不陌生,但是你真的了解它吗? 首先,这个符号(#!)的名称,叫做"Shebang"或者"Sha-bang ...
- 00001 - Linux 上的 Shebang 符号(#!)
使用Linux或者unix系统的同学可能都对#!这个符号并不陌生,但是你真的了解它吗? 本文了将给你简单介绍一下Shebang(”#!”)这个符号. 首先,这个符号(#!)的名称,叫做”Shebang ...
- 看懂shebang吧,只需一点点shell知识,从此再也不犯强迫症
Python2: 开启一个terminal,输入下面命令: yshuangj@ubuntu:~$ vim helloA.py 在vim编辑器中,进入编辑模式(按i),输入下面的代码,然后退出编辑模式( ...
- 释伴:Linux 上的 Shebang 符号(#!)
使用Linux或者unix系统的同学可能都对#!这个符号并不陌生,但是你真的了解它吗? 本文了将给你简单介绍一下Shebang(”#!”)这个符号. 首先,这个符号(#!)的名称,叫做”Shebang ...
- 人们为什么在Python脚本的第一行上编写#!/ usr / bin / env python shebang?
在我看来,如果没有该行,文件运行相同. #1楼 您可以使用virtualenv尝试此问题 这是test.py #! /usr/bin/env python import sys print(sys.v ...
- Shell脚本中的shebang到底是什么
使用类Unix系统的同学可能都对"#!"这个符号并不陌生,但是你真的了解它吗? 这个符号的名称,叫做"Shebang"或者"Sha-bang" ...
随机推荐
- 共享变量与python测试库
共享变量(Variables) 1.变量表: 导入模式: 1.套件文件,不需要导入 2.资源文件 Resource xxx.robot 2.变量文件 导入模式: 1.Variables xx.py ...
- MySQL 自带的4个系统数据库的说明
自带的4个系统数据库:information_schema.mysql.performance_schema.sys: information_schema:这个数据库保存了mysql服务器所有数据库 ...
- 转载_fread函数详解
fread函数详解 函数原型: size_t fread( void *buffer, size_t size, size_t count, FILE *strea ...
- css overflow失效的原因
声明 转载自https://my.oschina.net/xuqianwen/blog/540587 项目中常常有同学遇到这样的问题,现象是给元素设置了overflow:hidden,但超出容器的部分 ...
- win10如何找回自带的照片查看器
1.接着我们在打开的记事本中一字不差的输入以下代码 Windows Registry Editor Version 5.00 ; Change Extension's File Type [HKEY_ ...
- CodeChef Tree Palindromes
Tree Palindromes Given a tree rooted at node 1 with N nodes, each is assigned a lower case latin cha ...
- linux系统时区问题
1. centos 7 转载自:https://www.cnblogs.com/zhangeamon/p/5500744.html 查看时区: timedatectl $timedatectl sta ...
- 利用python jieba库统计政府工作报告词频
1.安装jieba库 舍友帮装的,我也不会( ╯□╰ ) 2.上网寻找政府工作报告 3.参照课本三国演义词频统计代码编写 import jieba txt = open("D:\政府工作报告 ...
- 【图数据库】Neo4j初次部署踩坑
1.从http://we-yun.com/index.php/blog/versions-56.html或者https://neo4j.com/下载neo4j安装包 2.配置NEO4J_HOME变量, ...
- hive创建表
一.为什么要创建分区表 1.select查询中会扫描整个表内容,会消耗大量时间.由于相当多的时候人们只关心表中的一部分数据, 故建表时引入了分区概念. 2.hive分区表:是指在创建表时指定的part ...