Creo que en tu caso
-prune -o -type f
es ambiguo:-o
que significa "o", cuando find
encuentra un directorio, el -prune
es verdadero, por lo que -type f
no se evalúa
-d
является расширением GNU date
,(busybox
иast-open
date
также имеют одно, но работают по-разному ).
AIX поставляется с ksh93
, поэтому нет необходимости в GNU date
, чтобы получить предыдущий рабочий день:
day=2016-01-01
previous_working_day=$(D=$day ksh93 -c '
printf "%(%F)T" "$D, $(($(printf "%(%w)T" "$D") == 1 ? 3 : 1)) day ago"')
D_MINUS_ONE=
GetLastDay()
{
last_day=$(D=$1 ksh93 -c 'printf "%(%F)T" "$D, $(($(printf "%(%w)T" "$D") == 1 ? 3 : 1)) day ago"')
db2 -x "SELECT COUNT(*) FROM HOLIDAY WHERE DT_HOLIDAY='$last_day'" | read lines
if [ lines -gt 0 ]
then
GetLastDay $last_day
fi
D_MINUS_ONE=$last_day
}
GetLastDay $1
echo $D_MINUS_ONE