Следующее работает как ожидалось в командной строке. Но из cron не работает.
# echo "test abc xyz" | grep "test1 \| pqr"
# echo "test abc xyz" | grep "test \| pqr"
test abc xyz
Когда я использую этот оператор в cron, мне нужно экранировать определенные символы. Но я не могу этого понять.
Я не вижу никаких проблем, когда пытаюсь поместить его в cron. Вы пытаетесь сделать то же самое, что и следующее:
[sgeorge@sgeorge-ld ~]$ crontab -l
MAILTO=suku@xxxxxx.com
* * * * * /bin/echo "test abc xyz" | grep "test \| pqr" >> stack
* * * * * /bin/echo "test abc xyz" | grep "test1 \| pqr" >> stack_with_1
[sgeorge@sgeorge-ld ~]$ ls -l stack*
-rw-r--r-- 1 sgeorge eng 13 Jan 11 02:45 stack
-rw-r--r-- 1 sgeorge eng 0 Jan 11 02:45 stack_with_1
[sgeorge@sgeorge-ld ~]$ cat stack_with_1
[sgeorge@sgeorge-ld ~]$ cat stack
test abc xyz