Bashのすべての変数はメモリに文字列として保存されますか?

Bashのすべての変数はメモリに文字列として保存されますか?

次の変数を作成するとします。

s=John
i=12345
f=3.14

これらの変数はすべてメモリに文字列として格納されていますか?それともbash別のデータ型がありますか?

ベストアンサー1

バッシュ変数はタイプが指定されていない

他の多くのプログラミング言語とは異なり、Bashは変数を「タイプ」に区別しません。デフォルトでは、Bash変数は文字列ですが、状況によっては、Bashは変数の算術演算と比較を許可します。決定要因は、変数値に数値のみが含まれているかどうかです。

〜のようにもう一つの答えは次のとおりです。、種類弱い形タイピングを使用してくださいdeclare

これは、一部のプログラミング言語で使用できる非常に弱い形式の種類[1]です。

例を見てください。

declare -i number
# The script will treat subsequent occurrences of "number" as an integer.     

number=3
echo "Number = $number"     # Number = 3

number=three
echo "Number = $number"     # Number = 0
# Tries to evaluate the string "three" as an integer.

引用:

おすすめ記事