Perl 스크립트에서 Bash 스크립트로 변수를 전달하는 방법은 무엇입니까?

Perl 스크립트에서 Bash 스크립트로 변수를 전달하는 방법은 무엇입니까?

나는 우리 회사에서 사용하고 있던 고대 Perl 스크립트를 수정하는 책임을 맡았고 약 20년 동안 Perl을 본 적도 없었습니다. 그래서 저는 몇 가지 변수를 선택하여 환경에 덤프하고 싶습니다.

스크립트가 총계를 생성하고 이를 $total 변수로 저장하는 것과 같은 한 가지 작업을 수행한다고 가정해 보겠습니다. 저는 bash 스크립트에서 $total을 추출하고 기본적으로 Perl 스크립트를 종료하는 동안 계속 실행할 수 있기를 원합니다.

어떻게 해야 하나요?

답변1

일방 통행:

래퍼 스크립트로 쉽게 구문 분석할 수 있는 출력을 표시하도록 Perl 스크립트를 수정합니다.

print "###$total###";

그런 다음 쉘 래퍼 스크립트에서 사용하십시오 GNU grep.

#!/bin/bash

total=$(./script.pl | grep -oP '###\K[\d,.]+(?=###))
echo "$total"

또 다른 방법은 임시 파일을 사용하는 것입니다.

open my $fh, ">", '/tmp/specific_file_name_with_total'
    or die $!;

print $fh $total;

close $fh;

이후

#!/bin/bash

total=$(< /tmp/specific_file_name_with_total)
echo "$total"

관련 정보