Bashの「ドア」とは何ですか?

Bashの「ドア」とは何ですか?

かっちゅさんの回答を読んだ後この問題declare組み込み(パラメータを含む)シェルの存在について学びました。-n

help declareインポート:

変数の値と属性を設定します。

変数を宣言し、属性を割り当てます。名前を指定しないと、すべての変数の属性と値が表示されます。

-n...NAME を値の名前付き変数への参照にします。

変数が何であるか、拡張するのかわからないので、declare例と一緒に一般的な説明を求めました。しかし、まだ(変数プロパティ?)を見逃しています。manmandeclare

答えのilkkachuのコードに基づいてこれを説明したいかもしれません。

#!/bin/bash
function read_and_verify  {
    read -p "Please enter value for '$1': " tmp1
    read -p "Please repeat the value to verify: " tmp2
    if [ "$tmp1" != "$tmp2" ]; then
        echo "Values unmatched. Please try again."; return 2
    else
        declare -n ref="$1"
        ref=$tmp1
    fi
}

ベストアンサー1

ほとんどの場合、暗黙の宣言で十分です。bash

asdf="some text"

しかし、時には変数の値が整数になることを望むかもしれません。したがって、後で自動的に変更しても整数にのみ変更されることがあり、場合によってはデフォルト値は0になります。以下を使用できます。

declare -i num

または

declare -i num=15

時には配列が必要で、その後は必要です。declare

declare -a asdf   # indexed type

または

declare -A asdf   # associative type

bashたとえば、検索文字列 "bash arraytutorial"(引用符を除く)を使用してインターネットを閲覧するときに配列の優れたチュートリアルを見つけることができます。

linuxconfig.org/how-to-use-arrays-in-bash-script


変数を宣言するときに最もよく発生するケースだと思います。


また参考にしてください

  • 関数内のdeclare変数をローカルにします(関数内)。
  • 名前がない場合は、すべての変数が一覧表示されます(アクティブシェルにあります)。

    declare
    

declare最後に、以下を使用して、bashシェルの組み込みコマンド機能の簡単な要約を得ることができます。

help declare

おすすめ記事