![쉘 스크립트에서 배열 추가 및 곱셈 프로그램을 수행하는 방법은 무엇입니까? [폐쇄]](https://linux55.com/image/37437/%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20%EB%B0%B0%EC%97%B4%20%EC%B6%94%EA%B0%80%20%EB%B0%8F%20%EA%B3%B1%EC%85%88%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84%20%EC%88%98%ED%96%89%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
배열 덧셈과 배열 곱셈을 수행하는 프로그램 arr_calc를 작성하세요. 이 프로그램에는 4개의 매개변수가 있습니다.
매개변수 1: 입력 배열 A의 파일 이름
매개 변수 2: 입력 배열 B의 파일 이름
매개 변수 3: 출력 배열 C의 파일 이름
매개 변수 4: 계산(a는 덧셈, m은 곱셈을 의미)
예를 들어 arr_calc file1 file2 file3 a
답변1
쉘 프로그래밍 사용:
다음은 행렬을 추가하기 위한 쉘 스크립트입니다.
#!/bin/bash
read -p "Enter the matrix order [mxn] : " t
m=${t:0:1}
n=${t:2:1}
echo "Enter the elements for first matrix"
for i in `seq 0 $(($m-1))`
do
for j in `seq 0 $(($n-1))`
do
read x[$(($n*$i+$j))]
done
done
echo "Enter the elements for second matrix"
for i in `seq 0 $(($m-1))`
do
for j in `seq 0 $(($n-1))`
do
read y[$(($n*$i+$j))]
z[$(($n*$i+$j))]=$((${x[$(($n*$i+$j))]}+${y[$(($n*$i+$j))]}))
done
done
echo "Matrix after addition is"
for i in `seq 0 $(($m-1))`
do
for j in `seq 0 $(($n-1))`
do
echo -ne "${z[$(($n*$i+$j))]}\t"
done
echo -e "\n"
done
exit 0
행렬 곱셈의 경우 위와 동일한 논리를 사용할 수 있습니다.