kornShell 및 AIX는 배열 변수를 생성할 수 없습니다.

kornShell 및 AIX는 배열 변수를 생성할 수 없습니다.
LS=`ls "$SRC_PATH"/* | grep -i -v *.ignore`

조건이 여러 개 있어서 조건을 확인하려면 while을 사용해야 하기 때문에 for 루프를 사용할 수 없습니다.

다음을 사용하여 콘텐츠에 액세스해 보세요.

${LS[$CNT]}
CNT=`expr $CNT + 1`

콘텐츠에 접근할 수 없습니다.

답변1

우리는부터 시작하겠습니다ls의 출력을 구문 분석하지 마십시오.왜냐하면 사람들에게 그것을 상기시키는 것이 항상 좋기 때문입니다.

다음 참고로, grep이는 원하는 대로 수행되지 않을 수 있습니다. \.ignore$".ignore"로 끝나는 파일을 건너뛰기를 원할 수도 있습니다.

우리가 사용하고 있으므로 ksh전화할 필요가 없습니다 expr.let CNT=CNT+1

지금..

배열을 설정하려면 구문을 ksh사용해야 합니다 set -A.

예를 들어

set -A LS $(ls "$SRC_PATH"/* | grep -i -v '\.ignore$')

이제 ${LS[0]}이 파일이 첫 번째 파일이 됩니다.

예를 들어,

$ ls X               
a  b  c

그 다음에

$ set -A LS $(ls X)
$ echo ${LS[0]}
a
$ echo ${LS[1]}
b
$ echo ${LS[2]}
c

관련 정보