tcsh에서 전체 배열을 인쇄하는 방법

tcsh에서 전체 배열을 인쇄하는 방법

tcsh에서 전체 배열을 인쇄하고 싶습니다. uniq로 파이프하고 싶기 때문입니다. tcsh에서 이를 수행할 수 있는 방법이 있습니까?

나는 가지고있다set array

인쇄 중입니다.

echo "$array"

하지만 결국 오류가 발생합니다. 단어가 너무 길어서 더 작은 배열에서 작동합니다.

이를 수행하는 쉬운 방법이 있습니까?

답변1

아주 오래된 tcsh 버전이 있어야 합니다.말이 너무 길다이 제한은 2006년 tcsh 버전 6.14.03에서 제거되었습니다.

echo "$array"

배열 요소의 연결을 echo단일 요소로 전달하지만 요소에 개행 문자가 포함되어 있으면 실패합니다.

echo "$array:q"

모든 요소의 연결을 전달하는 것이 더 정확할 것입니다.

배열의 모든 요소를 ​​전달합니다(빈 요소 제외).다음 버전에서 수정됨)를 별도의 매개변수로 사용 echo합니다. 즉,

echo $array:q

하지만 만약 echo "$array"당신이 실패한다면말이 너무 길다, echo아주 오래된 버전에서도 실패할 수 있습니다에코: 인수가 너무 많습니다..

답변2

tcsh에서는 다음과 같이 배열을 사용할 수 있습니다.

배열 정의

set myarray = ( element1 element2 element3 element4 etc )

전체 배열을 출력

printf '%s\n' "$array[-]"

인쇄 요소 1~3

printf '%s\n' "$array[1-3]"

참고: Bash에서 배열의 첫 번째 요소는 0(0)에서 시작합니다.

또한 set verbose설명된 줄과 실패한 줄을 보려면 스크립트 상단에 추가하세요.

관련 정보