GNU/Linux >> Linux の 問題 >  >> Linux

Bashでコメントする方法

はじめに

bashスクリプト、および一般的なプログラミングのコメントは、プログラムを理解しやすくするのに役立ちます。プログラムが実行されると、インタプリタはコメント行を無視します。ただし、コメントはプログラム全体の読みやすさに役立ちます。

後でコードを見るときは、コードの機能について説明的で価値のある説明をすることが役立ちます。後で使用するためにコードをコメントアウトすることは一般的な方法であり、プログラミングとbashスクリプトの重要な部分です。

このチュートリアルでは、bashスクリプトでコメントを使用する方法とコメントのベストプラクティスを示します。

前提条件

  • Linuxを実行しているシステム。
  • コマンドライン/ターミナルへのアクセス。
  • Vi/Vimなどのテキストエディタ。

Bashでコメントする方法

bashスクリプトを作成する場合、ハッシュ記号( #)の後のテキスト )はコメントの開始を示し、 #の後のテキストを示します 同じ行では実行されません。

テキストエディタまたはIDEを使用する場合、コメントの色は他のコードとは異なります。それらは、より拡張されたコードで簡単に気づき、検索できます。

唯一の例外はシェバン( #! )、これは通常、スクリプトの最初の行にあります。シバンは、コードに使用するインタプリタをオペレーティングシステムに指示します。

shebangの後のインラインコメントは、「そのようなファイルまたはディレクトリはありません」という結果になります。 「エラー。

単一行およびインラインBashコメント

bashスクリプトの単一行コメントとインラインコメントはどちらも、ハッシュ記号( #)で始まります。 ):

# This is a comment

標識の後に追加のスペースは必要ありません。ただし、読みやすさには役立ちます。

以下の例に従って、コメント付きのスクリプトを作成してください。

1.ターミナルを開きます( CTRL + ALT + T )そしてViを使用してスクリプトを作成します:

vi comment.sh

2.次のコードを追加します:

# A comment is considered a single line if you do not press Enter. Below is the shebang, indicating the script uses the bash shell.
#!/bin/bash
# This is a single line comment above a command.
echo "Hello world!" # This is an inline comment.
# This is a single line comment below a command.

スクリプトには次の行が含まれています:

  • 1行目 1行のBashコメントです。視覚的には、ステートメントは2行にまたがっています。
  • 2行目 シェバンです。スクリプトは、 / bin / bashにあるBashシェルインタープリターを使用して実行されます。 。
  • 3行目と5行目 また、それぞれコマンドの前後の1行のコメントです。
  • 4行目 インラインコメント付きの単純なエコーコマンドです。

3. Viを保存して閉じます:

:wq

4.スクリプトの権限を実行可能ファイルに変更します:

chmod +x comment.sh

5.最後に、次のコマンドを使用してスクリプトを実行します:

./comment.sh

スクリプトの実行時にコメントは表示されません

マルチラインおよびブロックバッシュコメント

複数行のbashコメントを作成するには、各行をハッシュ記号( #)で始めます。 ):

# This is the first line
# This is the second line

複数行のブロックコメントを作成するもう1つの型破りな方法は、bash nullコマンド( :)を使用することです。 )ヒアドキュメント表記と一緒に:

: << 'COMMENT'
This is the first line
This is the second line
COMMENT

基本的に、bashはブロックコメントをサポートしていません。この方法は、特定のケースでブロックコメントが不可欠な場合にハックとして機能します。

以下の例を試して、bashスクリプトで複数行のコメントとブロックコメントがどのように機能するかを確認してください。

1.ターミナルを開きます( CTRL + ALT + T )そしてViを使用してシェルスクリプトを作成します:

vi multiline.sh

2.次のコードをコピーして貼り付けます:

: << 'COMMENT'
This is a multiline block comment
using the single quote heredoc
and bash null command.
COMMENT
echo "Hello world!"
# This is a multiline comment
# using the single line notation.

コードは次のことを行います:

  • 1行目と5行目 ヒアドキュメントの区切り文字です。
  • 2〜4行目 ブロックコメントの内容です。
  • 6行目 echoです コマンド。
  • 7〜8行目 複数行のコメントとして機能する複数の単一行コメントです。

3.ファイルを保存してViを閉じます:

:wq

4.スクリプトのアクセス許可を実行可能ファイルに変更します:

chmod +x multiline.sh

5.最後に、スクリプトを実行して出力を確認します。

./multiline.sh

ターミナル出力には、 echoの結果のみが表示されます コマンド、コメント行は表示されません。

Bashコメントのベストプラクティスとヒント

bashでコメントするための特定のルールはありませんが、コメントを使用する場合は特定の方法が役立ちます。これらのプラクティスとヒントは、bashでのコメントを最大限に活用するのに役立つことを目的としています。

1。ファイルヘッダーを含める

一見しただけではわからないすべてのスクリプトには、ファイルヘッダーを含める必要があります。ヘッダーにはいくつかの目的があります:

  • コードの機能を一目で説明します。
  • 作成者を示します。
  • ライセンス通知について説明し、著作権で保護されたコードの許可ステートメントを提供します。

これらの点を説明するには、コードの先頭にあるコメントを使用してください。さらに、コードがプロジェクトの一部である場合は、プロジェクト名を含めます。

2。型破りなブロックコメントを避ける

ブロックコメントはbashスクリプトで可能ですが、それらを使用するのは悪い習慣です。テキストエディタはコメントとしてレンダリングしないため、コードは通常のコメントほど簡単にはわかりません。さらに、コメント構文が統一されていると、検索がはるかに簡単になります。

3。長くて不必要なコメントを避ける

コメントはできるだけ短く、要点を絞ってください。冗長性は不要であり、コードが読みにくくなります。

同様に、把握しにくいコードについてのみコメントしてください。簡単なechoへのコメント コマンドは不要ですが、複雑な正規表現ステートメントを使用するコードでは、コマンドの機能をすばやく示す必要があります。

4。コメントと機能

すべてのbash関数は、目的、予想される入力、および出力を説明するコメントの恩恵を受けます。例外は、明らかな短いコードです。

機能ごとに次のように記述します。

  • 操作の簡単な説明。
  • グローバル変数または変更された変数のリスト。
  • 予想される入力引数。
  • プロセスが端末に出力するもの。
  • 期待される戻り値。

以下は、前の各ポイントを文書化する関数の例です。

PREFIX="Hello "
#### FUNCTION BEGIN
# Prints a greeting
# GLOBALS: 
# 	PREFIX
# ARGUMENTS: 
# 	Name as a String to use for greeting
# OUTPUTS: 
# 	Writes String to STDOUT
# RETURN: 
# 	0 if success, non-zero otherwise.
### FUNCTION END
function () {
	echo "${PREFIX}: $1!"
}

例をユースケースに合わせて調整します。

5。一貫してラベルを付ける

コメントを使用して、改善、実装、または変更が必要なコードにラベルを付けます。コメントを検索しやすくするために、別のタスクに一貫したコメントラベルを作成します。

たとえば、各関数の説明を # FUNCTION BEGINで開始および終了します。 、または # TODOを追加します 将来のタスクのためのコメント。同様に、適切と思われるラベルを決定し、コード全体で一貫性を保ちます。


Linux
  1. Bashシェルスクリプトで改行をエコーする方法

  2. Bash で、ファイルの各行の後に文字列を追加するにはどうすればよいですか?

  3. Bashを使用してファイルの最後から2番目の行を読み取る方法は?

  1. Bash履歴コマンドの使用方法

  2. Bashでループを作成する方法

  3. 変数を使用してBashを使用して複数行の文字列を記述する方法は?

  1. LinuxでBASHコマンドライン履歴をクリアする方法

  2. Bashスクリプトをデバッグする方法は?

  3. BashスクリプトにUnix/Linuxユーザーを追加する方法は?