[shell] 関数の書き方

#!/bin/bash
say_hello() {
    echo "Hello, world!"
}

say_hello

say_hello_people() {
    echo "Hello, $1 and $2!"
}

say_hello_people taro hanako

$ bash cli.bash
Hello, world!
Hello, taro and hanako!

_bitcoin_rpc() {
    # determine already specified args necessary for RPC
    local rpcargs=()
    for i in ${COMP_LINE}; do
        case "$i" in
            -conf=*|-datadir=*|-regtest|-rpc*|-testnet)
                rpcargs=( "${rpcargs[@]}" "$i" )
                ;;
        esac
    done
    $bitcoin_cli "${rpcargs[@]}" "$@"
}

関数名の先頭にアンダーバー(_bitcoin_rpc)となっているのは衝突を防ぐため
localはローカル変数

i=10
func() {
    echo $i
    local i=12
    echo $i
}
func
echo $i