쉘 스크립트에서 cat 명령을 종료하는 방법

쉘 스크립트에서 cat 명령을 종료하는 방법

및 명령을 shell script사용하여 파일을 생성하는 스크립트를 작성했습니다 . 내 쉘 스크립트는 다음과 같습니다cattr

#!/bin/bash
printf "generating random file > plaintext \n"
cat -v | tr "a-z" "b-y" < plaintext  > generatedtext 

스크립트를 실행하는 동안에는 cat명령이 종료되지 않으며 CTRL+를 사용하여 Z쉘 스크립트 실행을 중지하면 명령이 종료되지 않습니다. 이제 내용을 보면 - generatedtext첫 번째 문자가 변경되고(기준으로 tr) 나머지 문자는 모두 일반 텍스트와 동일합니다.

예를 들어, 내용이plaintext

이 것은 사과입니다.

쉘이 실행된 후, 컨텐츠generatedtext

x이것은 사과예요.

답변1

tr일반 텍스트 파일을 읽은 후 다음을 수행해야 합니다.

#!/bin/bash
printf "generating random file > plaintext \n"
cat -v < plaintext | tr "a-z" "b-y" > generatedtext

귀하의 질문은 다음 plaintext으로 리디렉션되었습니다 . 또는 서브셸에서 파이프된 명령을 실행할 수 있습니다.trcat

#!/bin/bash
printf "generating random file > plaintext \n"
( cat -v | tr "a-z" "b-y" ) < plaintext  > generatedtext 

관련 정보