自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux上的Shebang符號(#!)

系統(tǒng) Linux
使用Linux或者unix系統(tǒng)的同學可能都對#!這個符號并不陌生,但是你真的了解它嗎?本文了將給你簡單介紹一下Shebang(”#!”)這個符號。

使用Linux或者unix系統(tǒng)的同學可能都對#!這個符號并不陌生,但是你真的了解它嗎?

本文了將給你簡單介紹一下Shebang(”#!”)這個符號。

[[118949]]

首先,這個符號(#!)的名稱,叫做”Shebang”或者”Sha-bang”。

詞源與歷史

Shebang的名字來自于SHArp和bang,或haSH bang的縮寫,指代Shebang中#!兩個符號的典型Unix名稱。 Unix術(shù)語中,井號通常稱為sharp,hashmesh;而嘆號則常常稱為bang。也有看法認為,shebang名字中的sh來自于默認shell Bourne shell的名稱,sh,因為常常使用shebang調(diào)用之。

在2010年版的Advanced bash scripting guide(revision 6.2)中,shebang被稱為"sha-bang",同時提到"也寫作she-bang或sh-bang",但該文件中沒有提到"shebang"這一形式。

丹尼斯·里奇在被問及他會如何稱呼這一特性時,他答道:

發(fā)信人:"Ritchie, Dennis M (Dennis)** CTR **" <dmr@[redacted]>

收信人:<[redacted]@talisman.org>

日期:Thu, 19 Nov 2009 18:37:37 -0600

主題:RE: What do -you- call your #!<something> line?

我不記得我們曾經(jīng)給它取過一個適當?shù)拿?。導入這一特性已經(jīng)是相當晚了--我覺得我是從關于伯克利Unix的UCB會議上的某人那里得到的這一靈感;我可能是首先實現(xiàn)它的人之一,但這個創(chuàng)意是來自于別人的。

至于它的名字:可能是類似于"hash-bang"的英國風描述性文字,但我沒有在任何場合使用類似寵物的名字來描述它。

此致,

Dennis

用途

Shebang這個符號通常在Unix系統(tǒng)的腳本中***行開頭中寫到,它指明了執(zhí)行這個腳本文件的解釋程序。

1. 如果腳本文件中沒有#!這一行,那么它執(zhí)行時會默認用當前Shell去解釋這個腳本(即:$SHELL環(huán)境變量)。

2. 如果#!之后的解釋程序是一個可執(zhí)行文件,那么執(zhí)行這個腳本時,它就會把文件名及其參數(shù)一起作為參數(shù)傳給那個解釋程序去執(zhí)行。

3. 如果#!指定的解釋程序沒有可執(zhí)行權(quán)限,則會報錯“bad interpreter: Permission denied”。如果#!指定的解釋程序不是一個可執(zhí)行文件,那么指定的解釋程序會被忽略,轉(zhuǎn)而交給當前的SHELL去執(zhí)行這個腳本。

4. 如果#!指定的解釋程序不存在,那么會報錯“bad interpreter: No such file or directory”。注意:#!之后的解釋程序,需要寫其絕對路徑(如:#!/bin/bash),它是不會自動到$PATH中尋找解釋器的。

5. 當然,如果你使用”bash test.sh”這樣的命令來執(zhí)行腳本,那么#!這一行將會被忽略掉,解釋器當然是用命令行中顯式指定的bash。

原文鏈接:http://linux.cn/article-3664-1.html

責任編輯:牛小雨 來源: linux中國
相關推薦

2020-06-09 15:35:46

Linux符號鏈接

2012-03-02 13:29:38

Javajmapjstack

2021-11-15 05:37:19

Linux 符號鏈接命令

2023-02-13 11:26:03

符號鏈接Linux

2014-08-01 17:12:14

Linux特殊符號

2009-08-27 11:43:46

ibmdw云計算

2023-02-07 08:13:47

Linux符號鏈接

2023-02-06 17:49:35

Linux符號鏈接

2011-01-13 09:44:19

Linuxsudo技巧

2020-10-26 09:00:00

LinuxVagrant操作系統(tǒng)

2012-03-18 21:41:40

linux虛擬化

2014-04-03 11:04:50

2019-06-24 16:00:17

探索Linuxrun

2011-01-18 11:52:25

Linux語音識別

2020-11-16 09:38:08

編程語言EmojiEmojicode

2019-09-24 19:00:41

Linuxrm命令unlink命令

2019-04-25 13:30:14

Linux文件分身

2020-08-23 09:16:46

Linux文件合并和排序

2010-01-27 10:01:20

2018-01-31 12:40:48

Linux命令文件搜索
點贊
收藏

51CTO技術(shù)棧公眾號