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

Bashで関数を作成して呼び出す方法

Bashで関数を作成して呼び出す方法に関するクイックガイド。

関数は、何らかのアクションを実行するために使用される再利用可能なコードのブロックです。関数を使用すると、モジュール性が向上し、コードが高度に再利用されます。

Bashは、echoなどのいくつかの組み込み関数を提供します およびread 、ただし、独自の関数を作成することもできます。

Bashで関数を作成する

Bashで関数を作成する方法は2つあります。

1つの方法は、関数名を使用することです。例:

functionName(){
  // scope of function
}

コンパクトバージョン:

functionName(){ echo "hello"; }

もう1つの方法は、functionを使用して関数を宣言することです。 キーワード:

function functionName {
  // scope of function
}

コンパクトバージョン:

function functionName { echo "hello"; }

()が必要ないことに注目してください functionを使用する場合 関数を作成するためのキーワード。

Bash関数に関する注意事項:

  • 中括弧の間のコード{} 関数本体とスコープです
  • 関数を呼び出すときは、bashスクリプトのどこからでも関数名を使用します
  • 関数は、使用する前に定義する必要があります
  • コンパクトバージョンを使用する場合、最後のコマンドにはセミコロン;を付ける必要があります

例:

次のコードは、「HelloWorld」をコンソールに出力する関数を作成します。関数の名前はprintHelloと呼ばれます :

#!/bin/bash

printHello(){
    echo "Hello World!"
}
Bashで関数を呼び出す

上記の関数をどのように呼び出すのですか? bashスクリプトで行う必要があるのは、関数の名前を記述することだけで、関数が呼び出されます。

例:

#!/bin/bash

printHello(){
    echo "Hello World!"
}

# Call printHello function from anywhere in the script by writing the name

printHello

出力:

"Hello World"
引数の受け渡し

上記の関数printHello() パラメータはありません。これを呼び出すと、「HelloWorld」という出力が得られます。しかし、もっと一般的な関数を作成したい場合はどうでしょうか?たとえば、引数を指定して関数を呼び出すと、送信した内容が出力されます。

これを行うには2つの方法があります。

まず、printHello()を変更できます 渡された引数を出力する関数:

例:

#!/bin/bash

printAny(){
    echo "Hello " $1
}

printAny World
printAny DevQa
printAny I love coding!

出力:

Hello World
Hello DevQA
Hello I

3番目の印刷ステートメントprintAny I love coding! 「Hello、I」のみを出力しました。

これは、関数が1つのパラメーター$1のみを取るように設計されているためです。 。 「コーディングが大好き!」という言葉実際には3つのパラメータです。

すべてを印刷したい場合は、テキストを引用符で囲む必要があります

例:

#!/bin/bash

printAny(){
    echo "Hello " $1
}

printAny "I love coding!"

出力:

Hello I love coding

別の例として、数字を渡すこともできます:

#!/bin/bash

add() {
    result=$(($1 + $2))
    echo "Result is: $result"
}

add 1 2

出力:

Result is: 3
戻り値

Bash関数も値を返すことができます。

例:

#!/bin/bash

add() {
    result=$(($1 + $2))
}

add 1 2
echo "The sum is: "$result

出力:

The sum is: 3

関数から値を返す別の方法は、必要に応じて使用できる変数に結果を割り当てることです。

例:

#!/bin/bash

add () {
  local result=$(($1 + $2))
  echo "$result"
}

result="$(add 1 2)"
echo "The sum is: "$result

出力:

The sum is: 3

  1. カスタムExcel関数を作成する方法

    Microsoft Excel 私たちのために最大の仕事をする多くの事前定義された関数が付属しています。ほとんどの場合、組み込み関数以外の関数は必要ありません。しかし、事前定義されたExcel関数では提供されていなかった機能が必要な場合はどうなりますか? Microsoft Excelを使用すると、カスタムExcel関数を作成できます。 またはユーザー定義関数 VBAを使用する 。必要な機能を備えたカスタムExcel関数を作成でき、「=」の後に関数名を使用して、通常のExcel関数としてExcelシートでアクセスできます。 VBAを使用してカスタムExcel関数を作成する手順を説明します

  2. Linuxでエイリアスとシェル関数を作成するにはどうすればよいですか?

    GNU / Linuxシステムを最大限に活用したい場合は、コマンドプロンプトとシェルスクリプトを知っておく必要があります。コマンドラインで動作するコマンドが多いほど、使用されているコマンドの大部分が非常に多いことがわかります。使用可能なコマンドの小さなサブセット。ほとんどのタスクは習慣的であり、ユーザーはこれらを毎日同じ方法で実行できます。 最も一般的なコマンドユーティリティの多くのメーカーは、短縮名を使用して無関係な入力を排除しようとしています。リストの代わりに「ls」と入力します 」&change-directoryの代わりに「 cd」と入力します 」。さらに、多くのLinuxユーザー