1. ホーム
  2. bash

.bashrcで定義された関数をシェルから呼び出すにはどうしたらいいですか?

2023-09-26 14:05:11

質問

私の.bashrcにhelloという関数があります。

function hello() {
   echo "Hello, $1!"
}

以下のようにシェルからhello()を起動できるようにしたい。

$ hello Lloyd

そして出力を得る。

> Hello, Lloyd!

どんな仕掛けがあるの?

(もちろん、私が考えている本当の機能はもっと複雑なのですが)

EDIT: これは本当に関数のシンタックスエラーが原因だと思います! :(

function coolness() {

    if[ [-z "$1"] -o [-z "$2"] ]; then
        echo "Usage: $0 [sub_package] [endpoint]";
        exit 1;
    fi
        echo "Hi!"
}

どのように解決するのですか?

あなたの関数内のテストは動作しません -z 節を括弧で囲むべきではありませんし、if と開き括弧の間にはスペースがあるはずです。それは読むべきです。

function coolness() {

    if [ -z "$1" -o -z "$2" ]; then
        echo "Usage: $0 [sub_package] [endpoint]";
        exit 1;
    fi
    echo "Hi!"
}