암호
#!/bin/bash
startTimes=$(seq 300 10 330)
for startTime in ${startTimes[@]};
do
endTime=${startTime}+10
echo ${endTime} > /tmp/111test # Output literally: startTimes+10
done
echo "Last endTime: "${endTime}
출력bash -x ...
++ seq 300 10 330
+ startTimes='300
310
320
330'
+ for startTime in '${startTimes[@]}'
+ endTime=300+10
+ echo 300+10
+ for startTime in '${startTimes[@]}'
+ endTime=310+10
+ echo 310+10
+ for startTime in '${startTimes[@]}'
+ endTime=320+10
+ echo 320+10
+ for startTime in '${startTimes[@]}'
+ endTime=330+10
+ echo 330+10
+ echo 'Last endTime: 330+10'
Last endTime: 330+10
예상 출력
310
320
330
340
OS: Debian 8.5
Linux 커널: 4.6 백스포츠
답변1
출력 과 함께 사용해야 하는 선언 startTimes
및 사용 시 두 가지 실수를 지적하는 주석에서 don_crissti의 답변${var[@]}
seq
startTimes=( $(seq 300 10 330) )
for startTime in "${startTimes[@]}";
do
endTime=$(( ${startTime}+10 ))
echo ${endTime} > /tmp/111test
done
echo "Last endTime: "${endTime}