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

如何入門 Linux Shell 腳本編寫

系統 Linux
各位讀者,我們將在本文中介紹如何在 Linux 或 UNIX 系統中入門 Shell 腳本編寫。

什么是 Shell 呢?

Shell(交互界面)是類 UNIX/Linux 操作系統中的一個解釋器。它將用戶輸入的命令解釋成操作系統的系統調用來執行這些命令。簡單來說,Shell 形式上是操作系統的包裝。比如,你可能使用 Shell 命令來列出目錄中的文件,如 ls 命令,或使用命令復制,如 cp 命令。

$ ls
Desktop Documents Downloads Music Pictures playbook.yaml Public snap Templates test5 Videos

在上方的例子中,當你輸入 ls 并按下回車鍵。$ 符號是 Shell 的提示符,意味著 Shell 等著命令的輸入。下面的一行就是當前目錄下的文件名。

什么是 Shell 提示符?

提示符,即 $,被稱作命令提示符,是由 Shell 發出的(LCTT 譯注:這個概念,可能有誤。請參看:https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html#Controlling-the-Prompt )。當提示符出現后(LCTT 譯注:此處提示符并不特指 $ 符號),你就可以輸入命令了。Shell 將會在你按下回車鍵后讀取你的輸入。它會通過查看你輸入的第一個單詞來確定你希望執行的命令。“單詞”指的是一組連續的字符。空格和制表符作為分割單詞的標志。

不同類型的 Shell

由于沒有限制只能有一個 Shell,你可以按照自己的意愿來自由選擇運行任何一種 Shell。這當然挺好的,但是在不清楚其它替代方案的情況下選擇一種 Shell 沒有多大益處。下面列出了一些 UNIx/Linux 下常見的 Shell。

Sh(Bourne Shell)

最初的 Unix Shell 通常被稱作 Sh,是 Shell(或 Bourne Shell)的簡寫,以其作者 Steven Bourne 命名。它在幾乎所有的類 UNIX 操作系統下都可以找到。基本的 Bourne Shell 僅支持相當有限的命令行編輯。你可以輸入字符,使用退格鍵刪除字符,還有就是按下回車鍵來執行命令。當命令行出現異常了,你可以按下 Ctrl-C 組合鍵來終止整個命令。

Csh(C Shell)

它是由加利福尼亞大學伯克利分校的 Bill Joy 設計的,由于它的語法和 C 語言相似,所以被命名為 C Shell。這種 Shell 在 Bourne shell 的基礎上增加了一些實用功能,尤其是可以重用之前的命令來幫助創建之后要執行的命令。當你去完成一項專門任務的時候,大多數的情況下需要執行不止一條命令,這樣 C shell 的能力就相當有用了。

Ksh(Korn Shell)

它是由貝爾實驗室的 David Korn 創造的,Korn Shell 提供了和 C Shell 相同的增強,其中有一項重要的不同:Korn Shell 提供了對舊的 Bourne Shell 語法的向后兼容。在 Unix 下,如 AIX & HP-UX 上,Korn Shell 是默認 Shell。

Bash(Bourne Again Shell)

Bash 提供了像 Korn Shell 一樣的命令行編輯,像 C Shell 一樣的文件名補全和許多其它的高級功能。許多用戶認為 Bash 集 Korn Shell 和 C Shell 的優點于一身。在 Linux 和 Mac OS X 系統下,Bash 是默認的 Shell。

Tcsh(T C Shell)

Linux 系統推廣了 Tcsh。Tcsh 擴展了傳統的 csh,增加了命令行編輯、文件名補全和其它功能。例如,當你按下 Tab 鍵后,Tcsh 會補全文件和目錄名(與 Bash 中的按鍵相同)。舊的 C Shell 不支持這項功能。

什么是 Shell 腳本呢?

Shell 腳本是包含一條或多條命令的文本文件。在 Shell 腳本中,Shell 程序假定文本文件的每一行是一條不同的命令。這些命令的大部分就和你在 Shell 窗口手動輸入的一樣。

為什么要使用 Shell 腳本呢?

Shell 腳本被用來自動化管理任務、簡化復雜的配置細節,并且充分運用操作系統的性能。有了組合不同命令的能力就可以創造新命令了,從而增加操作系統的價值。此外,結合使用 Shell 與圖形化桌面環境,可以兼得二者之長。

從系統管理員的角度看,日復一日的重復工作可以使用 Shell 腳本來實現自動處理,那就可以節約時間從事其它高質量的工作。

創建第一個 Shell 腳本

在當前工作目錄下創建一個名為 myscript.sh 的文本文件,所有的 Shell 腳本都有 .sh 的擴展名(LCTT 譯注:Linux 下根本沒有擴展名一說,沒有這個擴展一樣是可以執行的)。腳本的第一行是 #!/bin/sh 或 #!/bin/bash,因為 # 符號被稱作 “hash” 并且 ! 符號被稱作 “bang” 故被稱為 shebang(釋伴)。至于 /bin/sh 和 /bin/bash 則指出了命令將被 Sh 還是 Bash shell 執行。

以下就是 myscript.sh 的內容:

#!/bin/bash
# Written by LinuxTechi
echo
echo "Current Working Directory: $(pwd)"
echo
echo "Today' Date & Time: $(date)"
DISK=$(df -Th)
echo
echo "Disk Space on System:"
echo "$DISK"

上方的腳本將會展示當前工作目錄、今天的日期與時間,還有磁盤空間。我們需要用到 echo 命令 和其它 Linux 命令 來實現這個腳本。

使用如下的 chmod 命令 來給文件增加執行權限:

$ chmod a+x myscript.sh

現在來執行腳本:

$ sh myscript.sh
或
$ ./myscript.sh

注意:在當前目錄下執行當前目錄下的 Shell 腳本,須使用 ./<腳本名> 方式,如下所示:

在 Shell 腳本中獲取用戶輸入

read 命令用來獲取用戶的鍵盤輸入,并且將之賦值給一個變量。echo 命令用來展示內容。

讓我們更改上方的腳本以使之獲取輸入:

#!/bin/bash
# Written by LinuxTechi
read -p "Your Name: " NAME
echo
echo "Today' Date & Time: $(date)"
echo
read -p "Enter the file system:" DISK
echo "$(df -Th $DISK)""

現在,再執行腳本試試,這回應該會有輸入信息的提醒:

$ ./myscript.sh
Your Name: Pradeep Kumar
Today' Date & Time: Sat 15 Oct 05:32:38 BST 2022
Enter the file system:/mnt/data
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/volgrp01-lv01 ext4 14G 24K 13G 1% /mnt/data

完美,上方的輸出表明腳本有輸入提醒,并加工處理了相應的數據。

本文結束。希望對你是有用的。非常歡迎任何的疑問、反饋。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2017-08-11 17:20:07

LinuxShell

2012-04-26 14:02:58

ibmdw

2022-06-21 09:26:21

Shell腳本JavaScript

2019-08-14 08:03:49

LinuxShell腳本web服務

2011-09-27 13:52:41

2024-11-27 09:19:25

2016-09-26 14:16:18

shell腳本bash

2009-10-26 12:17:03

linux腳本編寫

2011-03-01 09:30:27

LinuxScreenletPython

2016-09-19 15:15:01

shellbash腳本

2017-06-26 16:04:11

LinuxShell命令

2010-03-26 15:28:05

Python編寫

2021-07-02 06:54:44

Shell腳本 Linux

2020-11-02 08:23:36

shell腳本Linux

2016-12-16 09:23:29

LinuxShell腳本

2021-03-14 09:28:24

Linux Shell腳本

2022-10-09 10:18:44

LinuxShell腳本

2018-02-01 17:32:30

LinuxUNIXBash Shell

2022-05-02 18:29:35

bashshellLinux

2021-05-28 11:47:43

Linux運維Linux系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产亚洲人成a在线v网站 | 亚洲黄色视屏 | 日韩电影一区 | 中文福利视频 | 人人看人人草 | 欧美在线播放一区 | 亚洲伊人久久综合 | 精久久久| 久久中文字幕一区 | 成人黄色av网站 | 午夜影院在线免费观看视频 | 久久久久久久久久久久久久av | 久久精品国产一区二区电影 | 免费在线看黄 | 精品一区二区三区中文字幕 | 亚洲精品久久久一区二区三区 | 在线视频亚洲 | 99这里只有精品 | 国产免费人成xvideos视频 | 日产精品久久久一区二区福利 | 国产成人久久精品一区二区三区 | 亚洲一区二区电影网 | 亚洲在线看| 狠狠干综合视频 | 嫩草视频网站 | 一区二区视频在线 | 91网站视频在线观看 | 在线观看av网站永久 | 欧美精品一二区 | 亚洲欧洲一区二区 | 中文在线视频观看 | 谁有毛片 | 亚洲综合色网站 | 日本特黄a级高清免费大片 特黄色一级毛片 | 欧美a在线看 | 久久国产99| av一区在线观看 | 精品国产乱码久久久久久图片 | xxx视频| 欧美国产中文字幕 | 97在线播放 |