Você precisa de algo assim:
#!/usr/bin/env sh
if [ -t 1 ]
then
interactive=1
else
interactive=0
fi
if [ "$interactive" -eq 1 ]
then
printf "interactive\n"
while true
do
printf "Rm directory? "
read -r reply
if [ "$reply" = "y" ]
then
printf "directory will be removed\n"
break
elif [ "$reply" = "n" ]
then
printf "directory will not be removed\n"
break
else
printf "Uknown reply - it must be either y or n\n"
fi
done
else
printf "non interactive\n"
fi
O script acima é POSIX
-compliant e verificado por erros com shellcheck
. Ele verificará se ele é executado no modo interactive
ou non interactive
, possivelmente via cron
e agirá de acordo. Eu testei com bash
, dash
, Busybox ash
e FreeBSD
.