成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Bash 初學者系列 1:創建并運行第一個 bash shell 腳本

系統 Linux
今天我們將會介紹如何創建一個簡單的 bash shell 腳本,如何運行 bash 腳本,以及關于 shell 腳本必須了解的內容。

我們可能經常會在 Linux 服務器上做一些重復的工作,比如文件的備份,清理臨時文件,或者數據庫的備份與恢復等。

對于這些重復性的工作,將其自動化是一個常規的操作,而自動化任務是 bash 腳本功能的應用場景之一。

今天我們將會介紹如何創建一個簡單的 bash shell 腳本,如何運行 bash 腳本,以及關于 shell 腳本必須了解的內容。

創建并運行第一個 shell 腳本

我們先創建一個名為 scripts 的目錄,用于存放所有的 bash 腳本。

mkdir scripts
cd scripts

然后在 scripts 目錄中,使用 cat 命令創建一個名為 hello.sh 的文件:

cat > hello.sh

在 hello.sh 文件中編輯如下內容:

echo 'Hello, World!'

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

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

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

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

chmod u+x hello.sh

然后運行該腳本文件,如下:

bash hello.sh

你會看到 Hello World 打印在屏幕上。這跟我們學習其他編程語言一樣,第一個程序總是打印 Hello World。

圖片

將shell腳本轉換為bash腳本

將 shell 腳本轉為 bash 腳本,這看起來比較難理解是吧?我們簡單的解釋一下。

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

而 shell 是一個接受和運行命令的命令行解釋器。如果你運行過 Linux 命令,那么也就使用過 shell。當你在 Linux 中打開終端時,就已經在運行系統的默認 shell。

bash 通常是大多數 Linux 系統的默認 shell,所以很多時候,bash 都與 shell 同義。

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

為了避免這種差異造成的運行異常,我們應該告訴解釋器當前腳本是使用哪種 shell 編寫的,這個時候,需要使用 shebang!

shell 腳本開頭的 shebang 行

在 shell 腳本的第一行,即 #! /bin/bash 這一行通常被稱為 shebang,這是因為它是以兩個字符開頭的,分別是 #(hash)!(bang)

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

當我們在腳本的頂部包含 #! /bin/bash 時,系統就知道我們希望使用 bash 作為腳本的解釋器。因此可以直接運行 hello.sh,而無需在其前面加上 bash。

圖片

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

在前面我們運行 hello.sh 的時候,在前面添加了./ 字符,如果省略了這兩個字符,就會出錯:

$ hello.sh
hello.sh: command not found

首先 Bash 認為我們正在嘗試運行一個名為hello.sh的命令,當我們在終端上運行任何命令時,shell 會在PATH變量中存儲的一組目錄中查找該命令。

可以使用 echo 命令查看 PATH 變量的內容:

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 變量中,各個目錄的路徑之間使用冒號分割開。

像 echo、cat 等 Linux 命令可以從任何地方運行,因為它們的可執行文件存儲在 bin 目錄中,而 bin 目錄包含在 PATH 中。當我們運行命令時,系統會檢查 PATH 中所有可能的位置,以查找該命令的可執行文件。

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

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

pwd

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

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

現在我們再來運行一下 hello.sh:

$ hello.shHello, World!

圖片

可以看到,添加到 PATH 變量后,腳本可以正常運行了。

責任編輯:龐桂玉 來源: TIAP
相關推薦

2023-06-19 11:30:19

bashshell

2022-11-30 07:47:00

Bash腳本

2022-12-01 08:10:49

Bash腳本參數

2022-12-13 12:55:15

Bash循環

2022-12-02 14:30:24

Bash腳本數組

2022-12-14 10:08:00

BashLinux

2022-12-16 09:01:24

2022-12-09 07:58:52

Bash條件語句

2022-12-08 12:05:03

Bash字符串

2022-12-07 07:43:21

2025-02-10 07:30:00

malloc內存分配器內存

2022-11-03 08:13:52

echo 命令Linux

2021-12-30 10:26:37

Bash Shell腳本文件命令

2015-09-28 11:15:03

java初學者建議

2011-08-01 16:10:00

SQL Server

2011-06-17 14:12:32

Qt

2011-04-12 10:13:24

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML

2009-11-13 15:46:25

Java多線程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久精品一区二区三区 | 欧美综合在线视频 | 天天色天天射天天干 | 激情视频一区 | 欧美午夜精品理论片a级按摩 | 国产偷久久一级精品60部 | 伊色综合久久之综合久久 | 日韩手机视频 | 日韩欧美字幕 | 欧美国产日本一区 | 欧美国产日韩一区 | 国产中文字幕亚洲 | 精品国产乱码久久久久久蜜柚 | 亚洲精品日韩一区二区电影 | 精品欧美一区免费观看α√ | 97精品国产 | 成人精品一区二区三区 | 日韩欧美专区 | 草草视频在线免费观看 | 爽爽免费视频 | 999国产视频 | 久久久久中文字幕 | 国产一区二区黑人欧美xxxx | 亚洲国产精品一区 | 国产在线精品免费 | 欧美a√| 亚洲综合天堂 | 久久免费视频1 | 欧美激情精品久久久久久变态 | 免费在线观看h片 | 日本精品一区二区在线观看 | 国产成人免费在线 | 毛片免费在线 | 不用播放器看的av | a a毛片 | 日韩精品免费视频 | www.久久久.com| 东京av男人的天堂 | 成年人视频在线免费观看 | 精品入口麻豆88视频 | 91新视频|