큰 bash 스크립트에서 perl 명령을 사용하여 텍스트 파일의 시간 소인을 현재 날짜 및 시간으로 대체합니다. 출력은,Perl 명령은 명령 행에서 작동하지만 bash 스크립트에서는 작동하지 않습니다.
perlcmd="perl -i -pe 's/2005-03-31T19:13:30/$(date +"%Y-%m-%dT%H:%M:%S")/' ./file.txt"
echo $perlcmd
$perlcmd
에코 명령은 펄 명령이 괜찮 나를 보여줍니다 :
perl -i -pe 's/2005-03-31T19:13:30/2017-12-21T11:33:44/' ./file.txt
타임 스탬프는, 그러나, 대체되지 나는 다음과 같은 라인을 사용합니다. 에코 선을 명령 줄에 붙여 넣으면 제대로 실행되고 시간 소인이 대체됩니다. 어떻게 작동하도록 bash 스크립트에서 코드를 변경해야합니까?
이 변수 http://mywiki.wooledge.org/BashFAQ/050에 명령을 넣어 (그리고하지 마십시오 [견적이 제대로 (https : //로 stackoverflow.com/questions/10067266/when-to-wrap-quotes-around-a-shell-variable)). – tripleee