第一個shell腳本

第一個shell腳本

#!/bin/bash
echo "Hello world!"

1、關(guān)于#!

在腳本開頭的 sha-bang (#!) 是告訴系統(tǒng)這個文件是由特定命令解釋器解釋的一組命令。 那個 #! 實際上是兩個字節(jié)的 魔數(shù), 魔數(shù)是指定文件類型的特殊記號,在此是表示這是一個可執(zhí)行的shell腳本(鍵入 man magic可了解更多的信息)。緊跟著#!的是一個路徑名.這個路徑名是解釋這個腳本內(nèi)命令的命令解釋器程序的路徑:可能是一個shell,也可能是一個編程語言或者是一個軟件包程序。這個命令解釋器能執(zhí)行腳本內(nèi)的命令語句。它從腳本開頭(即從#!所在行的下一行)起執(zhí)行,但是忽略注釋行。

#!/bin/sh
#!/bin/bash
#!/usr/bin/perl
#!/usr/bin/tcl
#!/bin/sed -f
#!/usr/awk -f

上面每一個腳本頭行都是不同的命令解釋器,如果第一行是/bin/sh, 那就是默認(rèn)的Shell(Linux系統(tǒng)中bash是默認(rèn)的shell),否則的話就是其他的解釋器.如果使用#!/bin/sh(因為大多不同的商業(yè)UNIX都使用Bourne shell為默認(rèn)shell)可以使腳本能夠移植到非Linux的機器上,雖然這樣做你將不能使用Bash許多特有的屬性。但這樣做的腳本遵循 POSIX sh標(biāo)準(zhǔn).

值得注意的是,在"#!"后面提供的路徑必須是正確的,否則你運行腳本只會收到通常像"Command not found"那樣的錯誤信息。

如果腳本程序只是由一組普通的系統(tǒng)命令而沒有使用Shell內(nèi)置命令的話#!將被忽略。再次提醒使用#!/bin/sh將調(diào)用默認(rèn)的命令解釋器,這在Linux系統(tǒng)上是/bin/bash.

2、關(guān)于echo

echo命令是一個系統(tǒng)的內(nèi)建命令(builtin)。用于I/O操作。在這里我們利用echo命令來輸出一行字符串。

3、關(guān)于運行方式

接著嘗試運行這個腳本:

Hello world!

可以使用的方法有(假設(shè)文件的名字為hello.sh):

1.bash hello.sh

直接使用bash腳本運行hello.sh 這個腳本

2.chmod +x hello.sh

./hello.sh

給這個腳本添加運行權(quán)限之后直接調(diào)用。運行時腳本會根據(jù)#!后面的內(nèi)容確定運行腳本的程序。即使用/bin/bash 。

與此類似的,我們還可以將腳本放入系統(tǒng)環(huán)境變量的search path里面。比如在mac下的/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin之類的目錄下。這樣就能夠直接用hello.sh這種方式來運行這個腳本了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,707評論 0 5
  • 打開文本編輯器(可以使用 vi/vim 命令來創(chuàng)建文件),新建一個文件 test.sh,擴展名為 sh(sh代表s...
    孤月環(huán)舟閱讀 277評論 0 0
  • 第 2 章 SHELL 基礎(chǔ)知識2.1 shell腳本我們在上面簡單介紹了一下什么是shell腳本,現(xiàn)在我們來進一...
    LiWei_9e4b閱讀 1,641評論 0 0
  • 打開文本編輯器,新建一個文件,擴展名為sh(sh代表shell),擴展名并不影響腳本執(zhí)行,見名知意就好,如果你用p...
    Viking_Den閱讀 563評論 0 2
  • 創(chuàng)建腳本文件$ vim test.sh新建一個名為test擴展名為sh(sh代表shell),擴展名不影響腳本執(zhí)行...
    WorldPeace_hp閱讀 340評論 1 1

友情鏈接更多精彩內(nèi)容