2014-09-20 1 views
1

파일 이름 인 두 개의 인수와 stdout에 일부 내용을 출력하는 명령 인 foo이 있습니다.bash의 명령에 변수를 임시 파일로 전달하는 방법

두 개의 문자열을 가지고있는 두 개의 변수 ab이있는 Bash 스크립트가 있습니다.

foo 파일의 내용이 ab 인 두 개의 파일 이름을 전달하고 싶습니다. 그런 다음 stdout을 새 변수 c으로 저장하려고합니다.

임시 인터넷 검색이 스크립트는 아마 같은 것을 보일 것이다 다음은

a=...; 
b=...; 
c=`foo <($a) <($b)`; 

은 무엇 이 같이해야을?

+0

를 사용해보십시오 변수를 모두 건너 뜁니다. – chepner

답변

2
a=... 
b=... 
c=$(foo <(echo "$a") <(echo "$b")) 

echo "$c" 
+0

불행히도'$ a' 또는'$ b'에 개행 문자가있는 곳에서는 이것이 작동하지 않습니다. – jameshfisher

+0

''$ c ''를 출력 할 때는 반드시 인용 부호를 붙이십시오. 'echo "$ c"''echo $ c'. –

0

죄송합니다. 존의 답변을 다시 작성하기 만하면됩니다. <($ A)``<(cmd를 - 그 - 세트-A)와``당신이 바꿀 수 있습니다, 처음에 설정 b` 방법`A`와`에 따라 echo -e

a=... 
b=... 
c=$(foo <(echo -e "$a") <(echo -e "$b")) 

echo -e "$c" 
관련 문제