BASHプログラミング
 Computer >> コンピューター >  >> プログラミング >> BASHプログラミング

Linuxで効果的なBashスクリプトを作成するための10の便利なヒント

シェルスクリプトは、Linuxで学習/実行できるプログラミングの最も簡単な形式です。さらに言えば、タスクを自動化し、ほんの数例を挙げると、新しいシンプルなユーティリティ/ツールを開発するためのシステム管理に必要なスキルです。

この記事では、効果的で信頼性の高いbashスクリプトを作成するための10の便利で実用的なヒントを紹介します。これらには、次のものが含まれます。

1。スクリプトでは常にコメントを使用する

これは、シェルスクリプトだけでなく、他のすべての種類のプログラミングにも適用される推奨される方法です。スクリプトにコメントを書くと、あなたや他の誰かがスクリプトを読んで、スクリプトのさまざまな部分が何をするのかを理解するのに役立ちます。

手始めに、コメントは#を使用して定義されます サイン。

#TecMint is the best site for all kind of Linux articles

2。失敗したときにスクリプトを終了する

特定のコマンドが失敗した場合でも、bashがスクリプトを実行し続け、スクリプトの残りの部分に影響を与える場合があります(最終的に論理エラーが発生する可能性があります)。次の行を使用して、コマンドが失敗したときにスクリプトを終了します。

#let script exit if a command fails
set -o errexit 
OR
set -e

3。 Bashが宣言されていない変数を使用するときにスクリプトを終了させる

Bashは、論理エラーを引き起こす可能性のある宣言されていないスクリプトを使用しようとする場合もあります。したがって、次の行を使用して、宣言されていない変数を使用しようとしたときにスクリプトを終了するようにbashに指示します。

#let script exit if an unsed variable is used
set -o nounset
OR
set -u

4。変数を参照するために二重引用符を使用する

参照中に二重引用符を使用すると(変数の値を使用)、単語の分割(空白に関して)や不要なグロブ(ワイルドカードの認識と拡張)を防ぐのに役立ちます。

以下の例を確認してください:

#!/bin/bash
#let script exit if a command fails
set -o errexit 

#let script exit if an unsed variable is used
set -o nounset

echo "Names without double quotes" 
echo
names="Tecmint FOSSMint Linusay"
for name in $names; do
        echo "$name"
done
echo

echo "Names with double quotes" 
echo
for name in "$names"; do
        echo "$name"
done

exit 0
を実行します

ファイルを保存して終了し、次のように実行します。

$ ./names.sh
Linuxで効果的なBashスクリプトを作成するための10の便利なヒント

5。スクリプトで関数を使用する

非常に小さなスクリプト(数行のコードを含む)を除いて、常に関数を使用してコードをモジュール化し、スクリプトをより読みやすく再利用できるようにすることを忘れないでください。

関数を書くための構文は次のとおりです。

function check_root(){
	command1; 
	command2;
}

OR
check_root(){
	command1; 
	command2;
}

1行のコードの場合、次のように各コマンドの後に終了文字を使用します。

check_root(){ command1; command2; }

6。文字列の比較には==の代わりに=を使用してください

==に注意してください =の同義語です 、したがって、単一の=のみを使用してください たとえば、文字列比較の場合:

value1=”tecmint.com”
value2=”fossmint.com”
if [ "$value1" = "$value2" ]

7。置換には、従来の「コマンド」の代わりに$(コマンド)を使用します

コマンド置換は、コマンドをその出力に置き換えます。 $(command)を使用します バッククォートの代わりに`command` コマンド置換用。

これは、シェルチェックツール(シェルスクリプトの警告と提案を表示します)でも推奨されます。例:

user=`echo “$UID”`
user=$(echo “$UID”)

8。読み取り専用を使用して静的変数を宣言する

静的変数は変更されません。スクリプトで定義すると、その値を変更することはできません:

readonly passwd_file=”/etc/passwd”
readonly group_file=”/etc/group”

9。環境変数には大文字の名前を使用し、カスタム変数には小文字を使用します

すべてのbash環境変数は大文字で名前が付けられているため、変数名の競合を避けるために、小文字を使用してカスタム変数に名前を付けます。

#define custom variables using lowercase and use uppercase for env variables
nikto_file=”$HOME/Downloads/nikto-master/program/nikto.pl”
perl “$nikto_file” -h  “$1”

10。長いスクリプトのデバッグは常に実行する

数千行のコードを含むbashスクリプトを作成している場合、エラーを見つけることは悪夢になる可能性があります。スクリプトを実行する前に簡単に修正するには、デバッグを実行します。以下のガイドを読んで、このヒントをマスターしてください。

  1. Linuxでシェルスクリプトデバッグモードを有効にする方法
  2. シェルスクリプトで構文チェックのデバッグモードを実行する方法
  3. シェルトレースを使用してシェルスクリプトでコマンドの実行をトレースする方法

それで全部です!他に共有できるbashスクリプトのベストプラクティスはありますか?はいの場合は、以下のコメントフォームを使用してください。


  1. 知っておくべき便利なLinuxコマンドラインBashショートカット

    この記事では、Linuxユーザーに役立つBashコマンドラインショートカットをいくつか紹介します。これらのショートカットを使用すると、以前に実行したコマンドへのアクセスと実行、エディターのオープン、コマンドラインでのテキストの編集/削除/変更、カーソルの移動、コマンドでのプロセスの制御などの特定のアクティビティを簡単かつ迅速に実行できます。行。 この記事は、Linuxの初心者がコマンドラインの基本を理解するのに大いに役立ちますが、中級のスキルを持っている人や上級ユーザーも実際に役立つと思うかもしれません。次のように、カテゴリに従ってbashキーボードショートカットをグループ化します。 エディ

  2. iPhone X に関する 9 つの便利なヒント

    iPhone X他のiPhoneとはまったく異なり、ディスプレイ、顔認識、アニ文字、ジェスチャーですべてを制御するスマートフォンの新時代の幕開けです。しかし、ホームボタンがないと実用的ではなく、難しいように思えます。変化に適応するには常に時間がかかりますが、変化がより良いものであれば、努力する価値は間違いなくあります。 新しい iPhone を手に入れるために、iPhone X を楽しむのに役立ついくつかの隠れたヒントを集めました。より良いユーザー エクスペリエンスのためにこれらをチェックしてください。 Apple の未来の UI をマスターするための iPhone X のヒント 1.スワイプ