Linux中國

如何在 Bash 腳本中添加註釋

你有要說明的地方嗎?請將它們添加到你的 Bash 腳本中。

Bash 腳本中添加注釋是保持代碼整潔且易於理解的最有效方法之一。

你可能會問為什麼。

假設你的腳本包含一個複雜的正則表達式或多個複雜的代碼塊,在這種情況下,你可以添加注釋,以便其他開發人員或你可以了解該代碼塊的含義。

注釋掉部分代碼也有助於調試腳本。

在本教程中,我將引導你了解在 Bash 腳本中添加註釋的三種方法:

  • 單行注釋
  • 行內評論
  • 多行注釋

那麼讓我們從第一個開始。

Bash 中的單行注釋

要添加單行注釋,你必須將哈希符號(#)放在行的開頭並編寫注釋。

這是一個簡單的例子:

#!/bin/bash
# This is a comment
echo "Hello, World!"

執行時,注釋將被忽略,當我執行上面的命令時,它看起來像這樣:

? # 注釋規則的唯一例外是腳本開頭的 #!/bin/bash 行。它稱為 釋伴,用於指定運行腳本時要使用的解釋器。有不同的 Shell,語法也可能不同。因此,一個好的做法是指定腳本是為哪個 Shell 編寫的。例如,如果是 ksh,則可以使用 #!/bin/ksh.

Bash 腳本中的內聯注釋

或者,你可以將注釋放在代碼塊內以記錄該特定行的用途。

? # 之後的任何內容在該行結束之前都不會執行,因此請確保在代碼末尾添加註釋。

這是一個簡單的例子:

#!/bin/bash
echo "Hello, World!" #Prints hello world

Bash 中的多行注釋

? Bash 中沒有內置的多行注釋功能。但是,有一些解決方法可以實現多行注釋效果。

顧名思義,Bash 腳本中的多行注釋允許你在多行中編寫注釋,或者通過將它們放在多行注釋部分來阻止執行代碼塊:

  1. 在每行的開頭使用 #
  2. 冒號表示法(使用冒號後跟單引號)
  3. 現場文檔(使用 << 後跟分隔符)

那麼讓我們從第一個開始。

1、對塊注釋的每一行使用 #

如果你的目的是解釋腳本的一部分,我建議使用此方法。畢竟,# 才是真正的注釋功能。

這也是許多開發人員使用的方法。

假設你必須在一開始就解釋腳本的用途、作者信息或許可信息。你可以這樣寫:

#!/bin/bash

######################################
## This script is used for scanning ##
## local network                    ##
## Licensed under GPL 2.0           ##
######################################

這個 Bash 腳本的其它部分……

當你想說明 Bash 腳本的行為方式時這不錯。如果你正在調試 Bash 腳本並希望隱藏部分腳本,則在所需代碼的每一行開頭添加 # 並在調試後將其刪除是一項耗時的任務。

接下來的兩節將幫助你做到這一點。

2、冒號表示法

要使用冒號表示法,請在 : &apos; 和結束的 &apos; 之間編寫塊注釋,如下所示:

#!/bin/bash

: &apos;
This is how you can use colon notation
And this line too will be ignored
&apos;
echo "GOODBYE"

當你執行上面的腳本時,它應該只列印 GOODBYE

3、現場文檔

到目前為止,這是在 Bash 中編寫多行注釋的最流行的方法,你可以使用 << 後跟分隔符(一組用於指定注釋開始和結束的字元)。

(LCTT 譯註:在編程領域,「here document」 是一個常見的術語,特指在腳本語言(如 Perl、Bash)中,能夠直接在代碼內部嵌入並處理一個數據塊或文本串的技術。儘管傳統上我們將它翻譯為「嵌入式文檔」 或不翻譯,但這個譯法似乎並不能完全地體現出原文的感覺和含義。為了讓這個概念變得更為直觀和易理解,我們建議將 「here document」 翻譯為 「現場文檔」。「現場」相比於「嵌入式」,更好的傳達了文檔就在代碼的當前位置,或代碼「現場」的含義。這樣的譯法也與原文 「here document」 中 「here」(這裡)的含義更為契合。我們希望這個譯法能夠在未來得到更廣泛的使用和認可,讓編程的世界因語言的精準而變得更美好。PS., 該譯法和解釋得到了 ChatGPT 的建議和生成。)

使用方法如下:

#!/bin/bash

<<DELIMITER
Comment line 1
Comment line 2
DELIMITER

echo "Hello, World!"

還困惑嗎? 這是一個簡單的例子:

#!/bin/bash

<<COMMENT
This is a multi-line comment using a here document.
You can add as many lines as you want between <<COMMENT and the terminating keyword.
This block won&apos;t be executed by the shell.
COMMENT

echo "Hello, World!"

在上面的示例中,我使用了 COMMENT 作為分隔符,但你可以使用任何內容,但要確保它從注釋中脫穎而出,否則會造成混亂。

當我執行上面的腳本時,它給出了以下輸出:

正如你所看到的,它忽略了從 <<COMMENTCOMMENT 的所有內容。

我希望本指南對你有所幫助。

(題圖:MJ/7c2a3ef4-5256-405e-b757-23e0ba1f0bc5)

via: https://itsfoss.com/bash-comments/

作者:Sagar Sharma 選題:lujun9972 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國