Programming/Shell script
Bash 쉘스크립트 배열
Lowid
2009. 1. 12. 22:47
혹시해서 적어두지만
bash쉘스크립트에서는 따로 자료형이 정해지지 않았기 때문에 그냥
아무변수나 배열처럼 쓸수있다.
배열 대입
배열출력
배열 삭제
unset 명령어 이용, 한다고 합니다 아직 사용해 보진 않음;;
배열 전체 길이 구하기 (첨자길이)
배열A를 배열 B로 복사
배열의 첨자(인덱스) 안에 @,* 들어가는거는 IFS에서 $*와 $@ 와 비슷하다고 한다'
함수를 쓸떄 아규먼트로 보내기
이렇게 쓰면
이상하게 배열자체를 함수로 넘기질 못하겠네;
이거 아시는분은 댓글을!!!
이게 안먹히기 때문에
이렇게 사용하고 있다..;; 이거분명 넘기는 방법이 있을텐데 모르겠음
아나 귀차너 그냥 전역으로 쓰고 때려지우는게 나을듯
bash쉘스크립트에서는 따로 자료형이 정해지지 않았기 때문에 그냥
아무변수나 배열처럼 쓸수있다.
배열 대입
episode_array[0]="abc"
episode_array[1]="def"
episode_array[1]="def"
배열출력
echo ${episode_array[0]}
echo ${episode_array[1]}
# 덧> 쿼우팅은 알아서 할것!
echo ${episode_array[1]}
# 덧> 쿼우팅은 알아서 할것!
배열 삭제
unset 명령어 이용, 한다고 합니다 아직 사용해 보진 않음;;
unset episode_array
unset eposode_array[0]
unset eposode_array[0]
배열 전체 길이 구하기 (첨자길이)
${#episode_array[@]}
$(#episode_array[1]} # 이게 1번 array 길이 구하는거였나?
$(#episode_array[1]} # 이게 1번 array 길이 구하는거였나?
배열A를 배열 B로 복사
B=("${A[@]")
배열의 첨자(인덱스) 안에 @,* 들어가는거는 IFS에서 $*와 $@ 와 비슷하다고 한다'
함수를 쓸떄 아규먼트로 보내기
Movie_Choice "${episode_array[@]}"
이렇게 쓰면
function Move_Choice()
{
echo "$1" #episode_array[0]
echo "$2" #episode_array[1]
echo "#3" #episode_array[2]
}
{
echo "$1" #episode_array[0]
echo "$2" #episode_array[1]
echo "#3" #episode_array[2]
}
이상하게 배열자체를 함수로 넘기질 못하겠네;
이거 아시는분은 댓글을!!!
Movie_Choice ("${A[@]")
이게 안먹히기 때문에
function Movie_Choice()
{
array2=( "$@" )
}
Movie_Choice ${episode_array[@]}
{
array2=( "$@" )
}
Movie_Choice ${episode_array[@]}
이렇게 사용하고 있다..;; 이거분명 넘기는 방법이 있을텐데 모르겠음
아나 귀차너 그냥 전역으로 쓰고 때려지우는게 나을듯