私はbashを学んでいます。 今私は関数に空の配列を与えたいと思います。ただし、動作しません。引用変数は、私たちは空の変数は、以下のような を与えることができ、私の理解では、次のように出力は以下の通りです空の配列をbashでどのように機能させるか?
function display_empty_array_func() {
local -a aug1=$1
local -a aug2=${2:-no input}
echo "array aug1 = ${aug1[@]}"
echo "array aug2 = ${aug2[@]}"
}
declare -a empty_array=()
display_empty_array_func "${empty_array[@]}" "1"
、
array aug1 = 1 # I expected it is empty
array aug2 = no input # I expected it is 1
を参照してください、
function display_empty_variable_func() {
local aug1=$1
local aug2=${2:-no input}
echo "variable aug1 = ${aug1}"
echo "variable aug2 = ${aug2}"
}
display_empty_variable_func "" "1"
としてください出力は次のとおりです。
variable aug1 = # it is empty as expected
variable aug2 = 1 # it is 1 as expected
空の配列を渡す際に何が問題になるかわかりません。 メカニズムや解決方法を知っている人。私にそれを知らせてください。 ありがとうございます。
これは役立つかもしれない:https://stackoverflow.com/questions/16461656/bash-how-to-pass-array-as-an-argument-to-a-function – Sundeep