셸 스크립팅에서 일부 내용이 포함 된 파일 만들기


20

Shell Scripting을 처음 접했고 스크립트 내에 새 파일을 만들고 내용을 추가 한 다음 닫고 싶습니다. 사용자로부터 인수를 취해서는 안됩니다. 경로와 내용의 모든 것이 미리 정의되어 있습니다. 어떻게하니?

답변:


24

출력 리디렉션 만 사용하십시오. 예 :

#!/bin/bash

echo "some file content" > /path/to/outputfile

>모든 쓸 것 stdin에 의해 제공 stdoutecho파일을 outputfile여기에.

또는 tee이것을 위해 파이프를 사용할 수도 있습니다 . 예 :

echo "some file content" | tee outputfile

예제 중 하나라도 기존 예제를 덮어 씁니다 outputfile.

현재 존재하는 파일 에 추가 해야하는 경우 또는 >>대신에를 사용하십시오 .>tee -a

이 줄에서 사용자 입력을받지 않으면 여기에서 사용자 입력으로 동작을 변경할 수 없습니다.


파일 내에 줄 바꿈을 사용하려는 사람들은 여기를 참조하십시오. stackoverflow.com/a/9741470/10512595
BelovedFool

18

here doc 을 사용하여 스크립트에서 새 파일을 만드는 것이 우수하다고 생각합니다 . 더 깨끗하게 보이기 때문에 가독성이 좋습니다.

예를 들면 다음과 같습니다.

cat > filename <<- "EOF"
file contents
more contents
EOF

"-"에서이 <<-될 것이다 탭 들여 쓰기를 허용, 선택적 제거 파일이 생성 될 때. 인용 부호 "EOF"는 "here doc"이 대체를 수행하지 못하게합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.