출력을 인쇄하는 메서드에서 값을 반환하는 방법

출력을 인쇄하는 메서드에서 값을 반환하는 방법

"printf"를 사용하여 내용을 인쇄하는 방법이 있습니다. 인쇄된 것을 반환하고 싶습니다.

parse_yml() {
   #some logics here
         printf("%s%s is %s", $1, code, $2, $3);
      }

위 코드에서 " printf("%s%s is %s", $1, code, $2, $3);"는 필요한 값을 인쇄합니다. 하지만 메서드 외부의 변수가 최종 값을 모두 하나의 변수에 넣을 수 있도록 연결된 인쇄된 값을 모두 반환해야 합니다. 이와 같이:

allContent=parse_yml. 

r다음 줄 대신에 라는 전역 변수를 정의해 보았습니다 printf.

r=$r$vn$2$3 

밖에서는 메아리가 들렸지만 안에는 아무도 없었다.

이 메소드에서 모든 값을 반환하는 방법에 대한 제안 사항이 있습니까?

답변1

내가 올바르게 이해했는지는 모르겠지만 bash에서는 다음과 같은 출력을 얻을 수 있습니다.

allContent=$(parse_yml.) 

하나

echo $allContent

그런 다음 동일한 내용이 공개되어야 합니다.

parse_yml. > parse_yml.out
cat parse_yml.out

파일 이름이 해석되지 않은 것 같습니다. 파일이 끝이 없나요? 일반적으로 절대 경로나 상대 경로를 지정해야 합니다.

./parse_yml

현재 디렉토리가 PATH에 있지 않는 한.

관련 정보