shell多行注釋詳解

2021-08-14 10:54:02 字數 1217 閱讀 8153

我們寫shell指令碼時,經常需要注釋多行,但在每一行前輸入#有些麻煩。基於 shell命令的靈活性,我們可以使用下面的方法。

格式:

<<'comment'

...comment

例子:

#!/bin/bash

echo

"say something"

<1

注釋行2

...注釋行n

comment

冒號:可用於多行注釋。

格式:

: '            # :

+ 空格 + 單引號

注釋行1

注釋行2

...注釋行n

'

例子:

#!/bin/bash

echo

"say something"

: ' # : + 空格 + 單引號

注釋行1

注釋行2

...注釋行n

'

這種做法有很多侷限性,而且會影響效能。首先,冒號:是shell內建命令,它的幫助說明:

$ help : 

:: :

null command.

no effect; the command does nothing.

exit status:

always succeeds.

即冒號:也是乙個shell命令,可以給它傳引數,但因為冒號:會過濾掉這些引數,而單引號括起來的普通**表示字串,所以我們可用冒號:表示注釋。在程式執行時,冒號:後單引號括起來的部分不會執行。

潛在的問題:

所以第二種方法,只能臨時用用。

#!/bin/bash

echo

"say something"

: <<'comment'

注釋行1

注釋行2

...注釋行n

comment

注意:要加上單引號,雖然有時不加不會有什麼問題,但還是要防止出現莫名其妙的意外,比如發生字元擴充套件,命令替換等。最保險的方法還是每行前加上#

shell 多行注釋詳解

在我們寫 shell 指令碼的時候,特別在除錯的時候經常需要注釋多行命令,但在每一行前輸入 顯得有些麻煩。基於 shell 命令的靈活性,我們可以使用下面的方法 方法一 這是比較穩妥的作法 可以採用here document特性,實現多行注釋,比如 comment comment舉例如下 bin b...

shell 多行注釋詳解

在我們寫 shell 指令碼的時候,特別在除錯的時候經常需要注釋多行命令,但在每一行前輸入 顯得有些麻煩。基於 shell 命令的靈活性,我們可以使用下面的方法 方法一 這是比較穩妥的作法 可以採用here document特性,實現多行注釋,比如 comment comment舉例如下 bin b...

shell 多行注釋 2

由於shell不支援直接多行注釋,總結了以下shell注釋多行的變通方法 一 通過here documents和 實現 1 最簡單方法 注釋內容 block 把輸入重定義到前面的命令,但是 是空命令,所以就相當於注釋了。如果注釋中有反引號的命令就會報錯。反引號部分沒被注釋掉,例如ab ls l ab...