Так как это bash
, вы упустили несколько вещей в конце вашего скрипта.
[...]
amount=$(($amount-$wager))
echo You Lost $wager$
fi
# close function
}
# get a wager
read -p "Enter wager " wager
# validate and call play_game()
((wager>0)) && play_game || echo "Invalid wager: $wager"
Вот он на ТИО:
xargs -t
пишет stderr
. Ваш > /dev/null
не влияет на stderr
. Итак, вы пишете на терминал из фонового процесса, что обычно является плохой идеей.
Если вы хотите, чтобы процесс find/gzip происходил в фоновом режиме, вы можете запустить весь этот блок в фоновом режиме, используя что-то вроде:
( find ${Filepath}/ -maxdepth 1 -type f -name "${Pattern}" -print0 | xargs -0 -t -n 1 -P 16 gzip > /dev/null ) &
Однако, в зависимости от того, сколько времени потребуется для завершения всех этих gzip-процессов, что может быть неразумно, если это займет больше времени, чем интервал между запуском вашего скрипта, вы можете столкнуться с более чем одним процессом, пытающимся сжать один и тот же файл..
Вам, вероятно, лучше использовать что-то вроде inotifywatch
, чтобы следить за каталогом для появления файлов и сжимать их.