![crontab에서 실행할 때 조건이 작동하지 않는 경우 [닫기]](https://linux55.com/image/135602/crontab%EC%97%90%EC%84%9C%20%EC%8B%A4%ED%96%89%ED%95%A0%20%EB%95%8C%20%EC%A1%B0%EA%B1%B4%EC%9D%B4%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EA%B2%BD%EC%9A%B0%20%5B%EB%8B%AB%EA%B8%B0%5D.png)
내 요구 사항은 "날짜"가 "file.txt"에 있는 날짜 목록과 일치하면 성공적으로 "날짜 일치"라고 표시되어야 한다는 것입니다.
#!/bin/bash
Date="Jun212018"
for i in `cat /home/file.txt`
do
if [ $i == $VT ]
then
echo "Date has Matched"
fi
done
답변1
스크립트가 VT
정의되지 않았습니다(환경에 설정되어 있지만 사용되지 않는 경우 Date
).
더 간단한 스크립트:
#!/bin/sh
if grep -q -Fx 'Jun212018' /home/file.txt; then
echo 'Date has Matched'
fi
날짜가 Jun212018
파일의 한 줄과 정확히 일치하면 문자열을 인쇄합니다.
아래 의견을 보면 이것이 당신이 원하는 것 같습니다.
#!/bin/sh
today=$( date +%b%d%Y )
if grep -q -Fx "$today" /home/file.txt; then
echo 'date has matched' >/home/otherfile
fi