#!/bin/bash
declare -i A=2
ADD()
{
declare -a Arr
count=1
MAXCOUNT=4
#declare -a arr
while [ "$count" -le "$MAXCOUNT" ]; do
Arr[$count]=$(( RANDOM % 10 + 1 ))
(( count++ )) || true
done
for i in "${Arr[@]}"; do
if [ $((Arr[i]%2)) -eq 0 ]; then
A+=$(Arr[i])
fi
done
echo "$A"
}
ADD
./math1804262.sh: line 35: Arr[*]: command not found
./math1804262.sh: line 35: Arr[*]: command not found
no
./math1804262.sh: line 35: Arr[*]: command not found
답변1
코드 1:
#!/bin/bash
declare -i A=2
ADD()
{
start_value=$1
end_value=$2
dynamic_array=()
for (( i=$start_value ; i<=$end_value ; i++ ))
{
rem=$(( $i % 2 ))
if [ $rem -eq 0 ]
then
#echo "Number : $i print's even number"
dynamic_array+=("$i")
else
# echo "Not a even number : $i"
fi
}
# Printing all even numbers
echo ${dynamic_array[@]}
}
ADD 1 7
출력 1: 2 4 6
코드 2는 A를 대안으로 인쇄합니다. 동적 배열 저장에서 약간의 변경이 이루어졌습니다.
코드 2:
#!/bin/bash
declare -i A=2
ADD()
{
start_value=$1
end_value=$2
dynamic_array=()
for (( i=$start_value ; i<=$end_value ; i++ ))
{
rem=$(( $i % 2 ))
if [ $rem -eq 0 ]
then
#echo "Number : $i print's even number"
dynamic_array+=("$i A")
else
echo "Not a even number : $i"
fi
}
# Printing all even numbers
echo ${dynamic_array[@]}
}
1 7을 추가하세요
출력 2:
2 A 4 A 6 A