Когда работа CRON не работает, или выводится, CRON попытается отправить его по почте пользователю MailJob. Когда почта настроен для него.
У вас есть информация о команде TAR для STDOUT, и никто не перенаправляет stdout. Вы Shoud перенаправляют все Stdout и STDERR всех ваших рабочих мест CRONTAB к / dev / null (или некоторое logfile, когда вы заинтересованы в выходе).
Пример
10 0 * * * tar tvf /tmp/tar.tst /home/era >/dev/null 2>&1
немного глупо: просить смолы быть влагосвященной флагам -В и бросать все, что пишет смола. Но это для того, чтобы когда вы хотите проверить что-то вроде
10 10 * * * tar tvf /tmp/tar.tst /home/era
или вы можете проверить
* * * * * echo "Hello and Goodbye Era"
и искать почту под своей учетной записью пользователя
Удалить расширение:
Попробуйте использовать $ {varname% .ext}
Расширение SH / Bash / ZSH. Например, вроде это:
#!/bin/sh
# ...
file_name_with_out_ext="${GEDIT_CURRENT_DOCUMENT_NAME%.c}"
(но остерегайтесь, что это будет удалять только α-вычеты и оставить .h или .CPP, или любые другие расширения)
Тест, если файл существует:
, вы можете проверить, если файл Существует (например, makefile) в оболочке (SH / Bash / ZSH) с тестом
или [[
команда [[ [[[
встроена:
test -e some_file_name && echo exists
[ -e some_file_name ] && echo exists
[[ -e some_file_name ]] && echo exists
Обязательно проверьте страницу человека для тестирования (1), Bash (1) или Zshbuiltins (1).
Сделайте файл флаги:
Вы имеете в виду что-то вроде этого:
if [[ -e makefile ]]; then
make CFLAGS='-Wall -g' my_target
else
make my_target
fi
Чтобы удалить расширение использовать что-то вроде этого-
echo $GEDIT_CURRENT_DOCUMENT_NAME | sed 's/\..*$//'