I 스크립트의 내부 명령을 대체하는 문제가이 스크립트에서 문제가되는 라인은 다음과 같습니다bash 스크립트에서 sed replace 명령을 사용 하시겠습니까?
nail -r "[email protected]" -s "Subject" -S smtp=255.255.255.255
그러나 I :
mail -s "$(hostname) on $(date)"
그것은이 같은 라인을 교체해야합니다 대체 할 sed 수 없습니다 :) 그 목적을 위해 작은 스크립트를 썼습니다 :
#!/bin/bash
old="mail -s \"\$(hostname) on \$(date)"
new="nail -r \"[email protected]\" -s \"Subject\" -S smtp=255.255.255.255"
sed -i 's|$old|$new|' script.sh
누구 조언 좀 가지고 있습니까?
이 바보 같은 실수를 지적 해 주셔서 감사합니다 :) 나는 sed를 사용하여 교체해야하고 이중 따옴표를 추가해야하며 필요할 때마다 이스케이프 작업에 지쳐있어 작은 따옴표로 묶어서 잊어 버렸습니다 :) – f10bit