bash 스크립트의 cat 출력을 다른 스크립트의 변수에 지정하는 방법


29

인수를 취할 때 cat 출력을 생성하는 bash 스크립트가 있습니다. 또한 cat 출력을 생성하려는 인수로 첫 번째 bash 스크립트를 실행하는 또 다른 bash 스크립트가 있습니다. 첫 번째 bash 스크립트에서 생성 된 cat 출력을 변수에 어떻게 저장합니까?

답변:


38
var=$( cat foo.txt )

의 출력을 catvariable에 저장합니다 var.

var=$( ./myscript )

출력을 myscript동일한 변수에 저장합니다 .


5
나와 같은 bash 초보자를위한 빠른 팁, 간격 및 비 간격이 모두 중요합니다. 정확한 패턴을 따르십시오! 예를 들어 var = $( cat foo.txt )작동하지 않습니다
sojim2

@Dalker foo.txt의 크기는 제한이 있습니까? 10MB가 넘는 데이터가 있습니다. 고양이가 모든 것을 저장할까요? 나중에 참조 할 수있는 한계가 있는지 알고 싶습니다.
myhouse

@sojim 당신은 이것의 답을 알고 있습니까?
myhouse

1
@myhouse 이 답변 에 따르면 bash 자체로 인한 제한은 없지만 기본 환경에 할당 된 메모리는 물론 다양 할 수 있습니다.
Dalker

3

큰 따옴표를 사용하십시오. 이 시도

var="$(cat foo.txt)"

3
물건 (특히로 시작하는 것 $)을 큰 따옴표로 묶는 것은 결코 나쁜 생각 이 아니며 여기에서 아프지 않습니다. 그러나 변수에 할당하는 경우 실제로 도움이되지 않습니다.
G-남자 '는 분석 재개 모니카'말한다

@ G-Man : 변수에 줄 바꿈이나 탭이 포함되어 있으면 어떻게됩니까?
jvriesem

@jvriesem : 그렇다면 어떻게해야합니까? 질문 있습니까?
G-Man, '복지국 Monica'3

이 명령을 실행하면 줄 바꿈이 모두 사라지는 것 같습니다.
K. Carpenter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.