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

編寫 Bash 腳本所需知道的一切

系統(tǒng)
您可以使用 Bash 腳本自動(dòng)執(zhí)行各種任務(wù)。掌握基礎(chǔ)知識(shí)并開始您的 Bash 腳本之旅。

Bash 腳本可用于自動(dòng)化任務(wù),您會(huì)發(fā)現(xiàn)它們非常適合構(gòu)建簡單的命令行應(yīng)用程序。Bash shell 解釋 Bash 腳本,因此您無需安裝任何依賴項(xiàng)即可編寫和運(yùn)行它們。Bash 腳本也是可移植的,因?yàn)榇蠖鄶?shù)基于 Unix 的操作系統(tǒng)都使用相同的 shell 解釋器。

每個(gè)開發(fā)人員都必須具備 Bash 腳本知識(shí),尤其是在使用基于 Unix 的系統(tǒng)時(shí)。

Bash 中的變量

Bash 變量區(qū)分大小寫。要聲明變量,請(qǐng)使用等號(hào)(=),名稱在左側(cè),值在右側(cè):

STATE=LinuxMi

此聲明分配給STATE的值是一個(gè)單詞。如果您的值中需要空格,請(qǐng)?jiān)谄渲車褂靡?hào):

STATE="Ubuntu Linux"

您需要使用美元符號(hào)($)前綴來引用其他變量或語句中的變量:

STATE=LinuxMi
LOCATION="My Site is $STATE"

在 Bash 中打印值

有幾種方法可以在 Bash 中打印變量。您可以使用echo命令進(jìn)行基本輸出,或使用 C 風(fēng)格的printf命令進(jìn)行字符串格式化。

STATE=LinuxMi
LOCATION="My Site is $STATE"
echo $LOCATION

聲明STATE變量后,此腳本通過引用 STATE 來定義LOCATION 。如果 then 使用 echo 打印 LOCATION 變量的最終值。

printf關(guān)鍵字允許您使用格式化動(dòng)詞來輸出數(shù)據(jù)。字符串格式化動(dòng)詞類似于 C 和 Go 中的動(dòng)詞,但動(dòng)詞有限。

動(dòng)詞

功能性

%C

打印單個(gè)字符

%o

打印八進(jìn)制

%s

打印字符串,獨(dú)立于大小寫

%X

打印小寫十六進(jìn)制

%X

打印大寫十六進(jìn)制

%d

打印整數(shù)

%e

以小寫形式打印科學(xué)概念浮點(diǎn)數(shù)

%E

以大寫形式打印科學(xué)概念浮點(diǎn)數(shù)

%F

打印浮點(diǎn)數(shù)

%%

打印一個(gè)百分比符號(hào)。

這是一個(gè)使用帶有print關(guān)鍵字的動(dòng)詞的示例。

STATE=LinuxMi.com
printf "My Site is %s" $STATE

printf函數(shù)將在%s動(dòng)詞的位置替換STATE變量,輸出將是“My Location is Lagos”。

Bash 中的注釋

您可以在 Bash 中使用井號(hào)或井號(hào) ( # ) 符號(hào)進(jìn)行注釋。shell 會(huì)自動(dòng)忽略注釋。

#!/bin/bash
# STATE=LinuxMi.com
# LOCATION="My Site is $STATE"

沒有多行注釋。大多數(shù) IDE 和文本編輯器允許您使用 Ctrl/Command + 正斜杠 (/) 快捷方式進(jìn)行注釋。您應(yīng)該能夠使用快捷方式創(chuàng)建多個(gè)單行注釋。

在 Bash 中接收用戶輸入

與許多其他編程語言一樣,您可以在 Bash 中接收用戶輸入,以使您的程序/腳本更具交互性。您可以使用read命令來請(qǐng)求用戶的輸入。

read response

在這種情況下,response變量將保存用戶在交付時(shí)的輸入。

echo "What do you want ?: "
read response
echo $response

在上面的示例中,用戶輸入請(qǐng)求將位于新行上。

您可以將-n標(biāo)志添加到echo print 語句以保留用戶輸入輸入的行。

echo -n "What do you want."
read response
echo $response

在 Bash 中聲明數(shù)組

Bash中的數(shù)組就像大多數(shù)語言一樣。您可以通過在括號(hào)中指定元素來在 Bash 中聲明一個(gè)數(shù)組變量。

Countries=('Ubuntu' 'Debian' 'CentOS', "openSUSE", "Linuxmi.com")

通過引用變量名訪問數(shù)組將獲取第一個(gè)元素。您可以使用星號(hào)作為索引來訪問整個(gè)數(shù)組。

echo ${Countries[*]}

您還可以指定數(shù)組的索引來訪問特定元素。數(shù)組的索引從零開始。

echo "${Countries[4]}"

Bash 中的條件語句

Bash 為程序中的決策提供條件。

這是 Bash 中 if-else 語句的剖析。您必須使用分號(hào)來指定條件的結(jié)束。

if [[ condition ]]; then
echo statement1
elif [[condition ]]; then
echo statement2
else [[condition ]]; then
echo statement3
fi

您必須以fi關(guān)鍵字結(jié)束每個(gè)if語句。

if [ 1 == 2 ]; then
echo one
elif [ 2 == 3 ]; then #else-if
echo two
else [ 4 > 3 ];
echo "correct, 3"
fi

您可以使用case關(guān)鍵字在 Bash 程序中使用 case 語句。您必須指定模式,然后在語句之前加上括號(hào)。

NAME=LinuxMi
case $NAME in
"Debian") # 模式
echo "Debian是目前世界最大的非商業(yè)性Linux發(fā)行版之一" # 聲明
;; # case 結(jié)束
"LinuxMi" | "Ubuntu")
echo "openSUSE"
;;
"CentOS" | "oracle linux")
echo "linux"
;;
*) # 默認(rèn)模式
echo "linuxmi.com" # 默認(rèn)聲明
;;
esac # case聲明結(jié)束

您可以使用星號(hào) (*) 符號(hào)作為模式定義默認(rèn)大小寫。case 語句必須以esac關(guān)鍵字結(jié)尾。

Bash 中的循環(huán)

根據(jù)您的需要,您可以使用 while 循環(huán)、范圍 for 循環(huán)或 C 風(fēng)格的 for 循環(huán)進(jìn)行重復(fù)操作。

這是 C 風(fēng)格的 for 循環(huán)的示例。For 循環(huán)必須以done關(guān)鍵字結(jié)尾,并且您必須以分號(hào)后跟do關(guān)鍵字結(jié)束 for 語句。

for ((a = 0 ; a < 10 ; a+2)); do
echo $a
done

對(duì)于處理文件和許多其他操作,for 循環(huán)的范圍很方便。您需要將in關(guān)鍵字與范圍 for 循環(huán)一起使用。

for i in {1..7}; do
echo $1
done

這是一個(gè)簡單的無限循環(huán),用于演示 Bash while循環(huán)的實(shí)際作用。

linuxmi=1
while [ 1 -le 5 ] # while 1 < 5
do
echo $linuxmi
done

條件語句中的-le是小于的二元運(yùn)算符。

Bash 中的函數(shù)

在 Bash 中聲明函數(shù)不需要關(guān)鍵字。您可以使用名稱聲明函數(shù),然后在函數(shù)體之前加上括號(hào)。

print_working_directory() {
echo $PWD #從腳本調(diào)用PWD命令
}
echo "當(dāng)前的目錄是 $(print_working_directory)"

函數(shù)可以在 Bash 中返回變量。您所需要的只是return關(guān)鍵字。

print_working_directory() {
return $PWD
}

print_working_directory函數(shù)返回文件的工作目錄。

你可以用其他語言編寫 Shell 腳本

Bash 并不是您可以用來與操作系統(tǒng)的 shell 交互或構(gòu)建命令行應(yīng)用程序的唯一語言。您可以使用許多其他語言,例如 Go、Python、Ruby 和 Rust。

許多操作系統(tǒng)都預(yù)裝了 Python3,而 Python 是一種流行的語言。如果您需要比 Bash 腳本提供的更多功能,請(qǐng)考慮使用 Python。

責(zé)任編輯:趙寧寧 來源: Linux迷
相關(guān)推薦

2017-04-29 09:00:14

Linux程序進(jìn)程

2016-02-29 09:37:44

5G

2023-04-12 14:04:48

光纖網(wǎng)絡(luò)

2023-02-10 08:44:05

KafkaLinkedIn模式

2022-07-15 14:58:26

數(shù)據(jù)分析人工智能IT

2018-06-15 23:00:56

2019-05-24 08:54:13

2021-12-29 14:24:12

物聯(lián)網(wǎng)IoT5G

2022-12-30 11:24:21

2022-04-24 09:00:00

滲透測試安全數(shù)字時(shí)代

2023-09-11 07:36:35

2022-08-31 16:29:09

數(shù)字孿生物聯(lián)網(wǎng)

2023-10-11 07:29:36

2022-07-06 10:07:21

物聯(lián)網(wǎng)IoT

2022-09-01 15:26:45

物聯(lián)網(wǎng)人工智能傳感器

2020-11-17 10:38:40

云計(jì)算工具技術(shù)

2023-10-12 07:06:32

2023-10-12 09:42:44

2023-02-27 15:47:31

2022-08-27 12:15:51

Linux Mint操作系統(tǒng)
點(diǎn)贊
收藏

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