偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Bash 初學(xué)者系列 1:創(chuàng)建并運(yùn)行第一個(gè) bash shell 腳本

系統(tǒng) Linux
今天我們將會(huì)介紹如何創(chuàng)建一個(gè)簡(jiǎn)單的 bash shell 腳本,如何運(yùn)行 bash 腳本,以及關(guān)于 shell 腳本必須了解的內(nèi)容。

我們可能經(jīng)常會(huì)在 Linux 服務(wù)器上做一些重復(fù)的工作,比如文件的備份,清理臨時(shí)文件,或者數(shù)據(jù)庫(kù)的備份與恢復(fù)等。

對(duì)于這些重復(fù)性的工作,將其自動(dòng)化是一個(gè)常規(guī)的操作,而自動(dòng)化任務(wù)是 bash 腳本功能的應(yīng)用場(chǎng)景之一。

今天我們將會(huì)介紹如何創(chuàng)建一個(gè)簡(jiǎn)單的 bash shell 腳本,如何運(yùn)行 bash 腳本,以及關(guān)于 shell 腳本必須了解的內(nèi)容。

創(chuàng)建并運(yùn)行第一個(gè) shell 腳本

我們先創(chuàng)建一個(gè)名為 scripts 的目錄,用于存放所有的 bash 腳本。

mkdir scripts
cd scripts

然后在 scripts 目錄中,使用 cat 命令創(chuàng)建一個(gè)名為 hello.sh 的文件:

cat > hello.sh

在 hello.sh 文件中編輯如下內(nèi)容:

echo 'Hello, World!'

Ctrl + D 命令保存文件,然后退出 cat 命令。

也可以使用其他文本編輯器,比如 vim,emacs 或者 nano;如果你用的桌面 Linux,也可以使用像 Gedit 這樣的圖形文本編輯器將文本添加到文件中。

我們添加到 hello.sh 中的腳本是使用 echo 命令打印 “Hello World”,你也可以直接在終端中使用此命令,不過(guò)在我們的測(cè)試中,是通過(guò) shell 腳本運(yùn)行此命令。

然后我們使用 chmod 命令給 hello.sh 文件添加可執(zhí)行權(quán)限,如下所示:

chmod u+x hello.sh

然后運(yùn)行該腳本文件,如下:

bash hello.sh

你會(huì)看到 Hello World 打印在屏幕上。這跟我們學(xué)習(xí)其他編程語(yǔ)言一樣,第一個(gè)程序總是打印 Hello World。

圖片

將shell腳本轉(zhuǎn)換為bash腳本

將 shell 腳本轉(zhuǎn)為 bash 腳本,這看起來(lái)比較難理解是吧?我們簡(jiǎn)單的解釋一下。

Bash是“Bourne-Again shell”的縮寫(xiě),它只是 Linux 中許多可用 shell 中的一種。

而 shell 是一個(gè)接受和運(yùn)行命令的命令行解釋器。如果你運(yùn)行過(guò) Linux 命令,那么也就使用過(guò) shell。當(dāng)你在 Linux 中打開(kāi)終端時(shí),就已經(jīng)在運(yùn)行系統(tǒng)的默認(rèn) shell。

bash 通常是大多數(shù) Linux 系統(tǒng)的默認(rèn) shell,所以很多時(shí)候,bash 都與 shell 同義。

shell 腳本的語(yǔ)法幾乎是相同的,但也有不同的地方。比如,在 zsh 中,數(shù)組的索引是從1開(kāi)始的,而 bash 是從0開(kāi)始的。如果腳本中存在數(shù)組,那么使用zsh 編寫(xiě)的 shell 腳本,與 bash 編寫(xiě)的腳本就不同了。

為了避免這種差異造成的運(yùn)行異常,我們應(yīng)該告訴解釋器當(dāng)前腳本是使用哪種 shell 編寫(xiě)的,這個(gè)時(shí)候,需要使用 shebang!

shell 腳本開(kāi)頭的 shebang 行

在 shell 腳本的第一行,即 #! /bin/bash 這一行通常被稱為 shebang,這是因?yàn)樗且詢蓚€(gè)字符開(kāi)頭的,分別是 #(hash)!(bang)

#! /bin/bash
echo 'Hello, World!'

當(dāng)我們?cè)谀_本的頂部包含 #! /bin/bash 時(shí),系統(tǒng)就知道我們希望使用 bash 作為腳本的解釋器。因此可以直接運(yùn)行 hello.sh,而無(wú)需在其前面加上 bash。

圖片

將shell腳本添加到PATH(以便可以從任何目錄運(yùn)行)

在前面我們運(yùn)行 hello.sh 的時(shí)候,在前面添加了./ 字符,如果省略了這兩個(gè)字符,就會(huì)出錯(cuò):

$ hello.sh
hello.sh: command not found

首先 Bash 認(rèn)為我們正在嘗試運(yùn)行一個(gè)名為hello.sh的命令,當(dāng)我們?cè)诮K端上運(yùn)行任何命令時(shí),shell 會(huì)在PATH變量中存儲(chǔ)的一組目錄中查找該命令。

可以使用 echo 命令查看 PATH 變量的內(nèi)容:

echo $PATH
/home/user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

在 PATH 變量中,各個(gè)目錄的路徑之間使用冒號(hào)分割開(kāi)。

像 echo、cat 等 Linux 命令可以從任何地方運(yùn)行,因?yàn)樗鼈兊目蓤?zhí)行文件存儲(chǔ)在 bin 目錄中,而 bin 目錄包含在 PATH 中。當(dāng)我們運(yùn)行命令時(shí),系統(tǒng)會(huì)檢查 PATH 中所有可能的位置,以查找該命令的可執(zhí)行文件。

如果想要讓我們的 bash 腳本從任何地方都可以運(yùn)行,那么需要將該腳本的位置添加到 PATH 變量中。

首先,使用 pwd 命令查看當(dāng)前目錄的位置(bash 腳本的位置):

pwd

然后使用export命令將腳本目錄添加到 PATH 變量中:

export PATH=$PATH:/home/user/scripts

現(xiàn)在我們?cè)賮?lái)運(yùn)行一下 hello.sh:

$ hello.shHello, World!

圖片

可以看到,添加到 PATH 變量后,腳本可以正常運(yùn)行了。

責(zé)任編輯:龐桂玉 來(lái)源: TIAP
相關(guān)推薦

2023-06-19 11:30:19

bashshell

2022-11-30 07:47:00

Bash腳本

2022-12-01 08:10:49

Bash腳本參數(shù)

2022-12-13 12:55:15

Bash循環(huán)

2022-12-02 14:30:24

Bash腳本數(shù)組

2022-12-14 10:08:00

BashLinux

2022-12-16 09:01:24

2022-12-09 07:58:52

Bash條件語(yǔ)句

2022-12-08 12:05:03

Bash字符串

2022-12-07 07:43:21

2025-02-10 07:30:00

malloc內(nèi)存分配器內(nèi)存

2022-11-03 08:13:52

echo 命令Linux

2021-12-30 10:26:37

Bash Shell腳本文件命令

2015-09-28 11:15:03

java初學(xué)者建議

2011-08-01 16:10:00

SQL Server

2011-06-17 14:12:32

Qt

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2011-04-12 10:13:24

2009-11-13 15:46:25

Java多線程
點(diǎn)贊
收藏

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