추가 명령의 중복 출력

추가 명령의 중복 출력
#!/bin/bash
VAR1="Hello"
VAR2="Bye"

{
echo $VAR1
some stuff here
echo $var2
}
mutt -s "this is a test" [email protected]

{ 및 }에 포함된 코드 출력을 이메일뿐만 아니라 화면에도 복사해야 합니다(아마도 tee 명령 사용).

답변1

이와 같이:

#!/bin/bash

var1="Hello"
var2="Bye"

{
    echo "$var1"
    some stuff here
    echo "$var2"
} | tee >(mutt -s "this is a test" [email protected])
  • 대문자 변수를 사용하지 마십시오. 시스템 사용을 위해 예약되어 있습니다.
  • 더 많은 인용문 사용

프로세스 대체: <(command) 또는 >(command)는 FIFO 또는 /dev/fd/* 항목으로 대체됩니다. 기본적으로 명명된 파이프를 설정하는 약어입니다. 바라보다http://mywiki.wooledge.org/ProcessSubstitution. 예: diff -u <(파일 1 정렬) <(파일 2 정렬)

공백/메타 문자를 포함하는 모든 리터럴은 "큰따옴표"로 처리합니다.모든확장자: "$var", "$(명령 "$var")", "${array[@]}", "a & b". 코드 또는 리터럴 $: "costs $5", ssh 호스트 "echo "$HOSTNAME""을 나타내려면 "작은따옴표"를 사용하십시오. 바라보다http://mywiki.wooledge.org/Quotes,http://mywiki.wooledge.org/Arguments그리고http://wiki.bash-hackers.org/syntax/words

관련 정보