첫 번째 인수는 형식 문자열입니다. 데이터는 후속 인수로 전달되어야합니다. 따라서 :
는
printf '%s\n' "${pwd_ids[@]}"
제대로 발광 것이다
E.1.1.7
E.1.1.9
E.1.1.2
E.1.1.3
E.1.1.4
E.1.1.6
E.1.1.5
다른 형식 문자열이 또한 사용될 수있다; 예를 들어 앞에 대쉬로 항목을 인쇄하려면 다음을 사용할 수 있습니다. printf ' - %s\n' "${pwd_ids[@]}"
;
printf '%s\n' "${pwd_ids[*]}"
: 또는 단일 이후의 인수에 그들 모두를 통과, 모두 한 줄에 값을 넣어, 20 대에게 패딩 열에서 선에 printf '%20s%20s\n' "${pwd_ids[@]}"
를 두를 인쇄하거나 출력으로 (당신의 IFS
변수는 달리 기본에 경우, 또는 공백으로 시작) :
E.1.1.7 E.1.1.9 E.1.1.2 E.1.1.3 E.1.1.4 E.1.1.6 E.1.1.5
위의 내용을 모두 설명하려면 다음과 같은 인수가 형식 문자열의 자리 표시 자로 대체됩니다. 위의 첫 번째 경우 배열의 각 요소는 %s\n
에 대해 평가되므로 줄 바로 뒤에 줄 바꿈이 추가됩니다.
질문에 대해서는 E.1.1.7
을 형식 문자열로 전달합니다. 이 형식 문자열은 자리 표시자를 전혀 가지지 않으므로 셸에서 수행하는 작업은 정의되지 않습니다. ksh 버전에서는 형식 문자열 만 출력하고 후속 인수는 무시합니다. 다른 셸에서는 인수 당 한 번 형식 문자열 (E1.1.7
)을 인쇄하고 해당 인수 값은 무시할 수 있습니다.
bash is not ksh – Cyrus
Cyrus가 말했듯이 bash 태그는 ksh에서만 유효한 코드가있는 질문에는 사용하지 말아야합니다. –
Cyrus와 Charles에게 감사의 말을 전한다. 실수로 bash를 받았다. –