編寫B(tài)ash腳本的技巧

1、 腳本中多寫注釋

對(duì)于剛?cè)腴T的人來(lái)說(shuō),注釋用 # 號(hào)來(lái)定義。

# TecMint 是瀏覽各類 Linux 文章的最佳站點(diǎn)

2、 當(dāng)運(yùn)行失敗時(shí)使腳本退出

有時(shí)即使某些命令運(yùn)行失敗,bash 可能繼續(xù)去執(zhí)行腳本,這樣就影響到腳本的其余部分(會(huì)最終導(dǎo)致邏輯錯(cuò)誤)。用下面的行的方式在遇到命令失敗時(shí)來(lái)退出腳本執(zhí)行:

# 如果命令運(yùn)行失敗讓腳本退出執(zhí)行

set -o errexit

# 或

set -e

3、 當(dāng) Bash 用未聲明變量時(shí)使腳本退出

Bash 也可能會(huì)使用能導(dǎo)致起邏輯錯(cuò)誤的未聲明的變量。因此用下面行的方式去通知 bash 當(dāng)它嘗試去用一個(gè)未聲明變量時(shí)就退出腳本執(zhí)行:

# 若有用未設(shè)置的變量即讓腳本退出執(zhí)行

set -o nounset

# 或

set -u

4、 使用雙引號(hào)來(lái)引用變量

當(dāng)引用時(shí)(使用一個(gè)變量的值)用雙引號(hào)有助于防止由于空格導(dǎo)致單詞分割開(kāi)和由于識(shí)別和擴(kuò)展了通配符而導(dǎo)致的不必要匹配。

看看下面的例子:

#!/bin/bash

# 若命令失敗讓腳本退出

set -o errexit

# 若未設(shè)置的變量被使用讓腳本退出

set -o nounset

echo "name without double quotes"

echo

names="Tecmint FOSSMint Linusay"

for name in $names; do

echo "$name"

done

echo

echo "name with double quotes"

echo

for name in "$names"; do

echo "$name"

done

exit 0

保存文件并退出,接著如下運(yùn)行一下:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容