Bash - fmt -w를 반복하고 함수에 행을 전달합니다.

Bash - fmt -w를 반복하고 함수에 행을 전달합니다.

줄 처리를 위해 각 줄을 함수에 전달하기 전에 먼저 각 줄의 특정 길이로 형식을 지정하려는 여러 줄 문자열이 있습니다.

예를 들어

description="\
    NOTE: 
    This script should be run on a newly created server. 

    However it can also be re-run selectively even afterwards, to re configure your settings if they were messed up.

    Ready to configure the server for the first time.
"
echo "$description" | fmt -w 80 

이제 위의 출력을 반복하고 각 행을 함수로 보내고 싶습니다.

내가 상상하는 것은 이것이다(작동하지 않음):

function testme() {
  for var in "$@"
  do
      echo "$var"
  done
}
echo "$description" | fmt -w 80 | testme 

어떤 아이디어가 있나요?

답변1

다음 방법을 시도해 보세요.

function testme() {
  while IFS='' read line
  do
      echo "$line"
  done
}
echo "$description" | fmt -w 80 | testme

관련 정보