거대한 텍스트를 에코하여 인수 목록이 너무 긴 오류를 제공합니다.

거대한 텍스트를 에코하여 인수 목록이 너무 긴 오류를 제공합니다.

Linux에서 엄청난 양의 텍스트(약 500KB)를 파일로 출력하는 데 어려움을 겪고 있습니다. 텍스트에 공백, 특수 문자 등이 포함되어 있습니다... 오류 /bin/sh: 인수 목록이 너무 깁니다.

#!/bin/bash
txt="---huge text separated by line and containing special characters---"
echo $txt

또는

#!/bin/bash
txt="---huge text separated by line and containing special characters---"
echo $txt >> filename.txt

답변1

" 및 ' 이스케이프를 방지하는 해결 방법은 스크립트를 볼 때 출력을 읽을 수 있도록 유지하는 것입니다. cat >output <<textmarker -시공예:

#!/bin/bash

cat >filename.txt <<EOT
Your output-text starts here
Every new line or tab  will be on the output too
  "text0" 'text1'  echo "Hello" 
  #Any other even huge text   //
\n But Dollarsign and backslash have to be escaped 
For example \$ and \\
your output-text ends with this marker, which had to be on a newline without whitespace
EOT

관련 정보