errexit
распространяется на замены процессов.
set -e
# Backup restore commands into an array
declare -a OPTS
readarray -t OPTS < <(shopt -po)
set +e
# Restore options
declare cmd
for cmd in "${OPTS[@]}"; do
eval "$cmd"
done
Проверить:
$ shopt -po errexit
set -o errexit
Bash-версия:
$ bash --version
GNU bash, version 4.2.46(2)-release (x86_64-redhat-linux-gnu)
Настройте задание cron
для выполнения каждую пятницу в январе и июне с 1 по 14 число:
23 9 1-14 Jan,Jun Fri /home/george/bin/do_it
В скрипте do_it
exit
, если это первая пятница
daynum=$(date +%e)
[[ $daynum -le 7 ]] && exit
При дальнейшем рассмотрении данных (2-я пятница - это день #8 -14 И это пятница )разве это не сработает?
23 9 8-14 Jan,Jun Fri /home/george/bin/do_it