스크립팅에 "First World Problems"가 있다면 이것이 문제 일 것입니다.
업데이트하는 스크립트에 다음 코드가 있습니다.
if [ $diffLines -eq 1 ]; then
dateLastChanged=$(stat --format '%y' /.bbdata | awk '{print $1" "$2}' | sed 's/\.[0-9]*//g')
mailx -r "Systems and Operations <sysadmin@[redacted].edu>" -s "Warning Stale BB Data" jadavis6@[redacted].edu <<EOI
Last Change: $dateLastChanged
This is an automated warning of stale data for the UNC-G Blackboard Snapshot process.
EOI
else
echo "$diffLines have changed"
fi
이 스크립트는 문제없이 전자 메일을 보내지 만 mailx 명령은 if 문에 중첩되어 있으므로 두 가지 선택 사항이 남아 있습니다.
- 넣어
EOI
새 줄에 들여 쓰기 패턴을 끊거나 - 들여 쓰기를 유지하지만 echox와 같은 것을 사용하여 mailx가 내 이메일을 빨아 들일 수 있도록하십시오.
heredoc에 대한 대안이 열려 있지만이를 해결할 수있는 방법이 있다면 선호하는 구문입니다.
$dateLastChanged
예제에서 하이픈 + 따옴표를 사용 하면 변수를 확장하지 않고 ( ) 하이픈과 따옴표를 빼고 EOI를 새 줄을 다시 확장하기 시작합니다.