• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2698
  • Last Modified:

reboot/shutdown y/n confirmation message before proceeding

I am running Red Hat Linux Enterprise 3 and need to be able to display a text based customized confirmation message when either reboot or shutdown is executed with instructions before proceeding.  I am just looking to add something like "Before proceeding ensure you have gotten approval to perform this task.  Would you like to proceed y/n?"

So then they would either enter y which would proceed or n to stop the process.  Your assistance is appreciated.

In addtion can we do this to incude multiple prompts/confirmations before proceeding?

Thank you.
0
zarcow
Asked:
zarcow
  • 2
  • 2
  • 2
  • +1
3 Solutions
 
TintinCommented:
In the root .bash_profile, setup two aliase like:

alias shutdown='/usr/local/bin/confirm shutdown'
alias reboot='/usr/local/bin/confirm reboot'

With /usr/local/bin/confirm being something like:
#!/bin/bash
echo "Before proceeding to perform $1, please ensure you have approval to perform this task"
echo -n "Would you like to proceed y/n? "
read reply
 
if [ "$reply" = y -o "$reply" = Y ]
then
   /sbin/$1
else
   echo "$1 cancelled"
fi

Open in new window

0
 
zarcowAuthor Commented:
Thank you for the quick response.  This looks like what I am looking for.  Just a quick clarification, how would the script look if I needed multiple prompts/confirmations?  So after the first y choice it prompts for another one before actually proceeding to execute the reboot/shutdown command.
0
 
joolsCommented:
You could nest a few more if's

I've just really cannibalised TinTin's script here as an attempt at humor... :-)

#!/bin/bash
echo "Before proceeding to perform $1, please ensure you have approval to perform this task"
echo -n "Would you like to proceed y/n? "
read reply
 
if [ "$reply" = y -o "$reply" = Y ]
then
   echo "Really really???"
   read reply2
   if [ "$reply2" = y -o "$reply2" = Y ]
   then
      echo "Really really with sugar on top???"
      read reply3
      if [ "$reply3" = y -o "$reply3" = Y ]
      then
         /sbin/$1
      fi
   fi
else
   echo "$1 cancelled"
fi
0
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
TintinCommented:
A function can make multiple prompts easier
#!/bin/bash
prompt()
{
  while true
  do
    echo -n "$* y/n? "
    read reply
    if [ "$reply" = y -o "$reply" = Y ]
    then
       return 0
    elif [ "$reply" = n -o "$reply" = N ]
    then
       echo "Action cancelled"
       exit 1
    else
       echo "Please enter 'y' or 'n'"
    fi
  done
}
 
echo "Before proceeding to perform $1, please ensure you have approval to perform this task"
if prompt "Would you like to proceed"
then
   prompt "Are you absolutely sure" && /sbin/$1
fi

Open in new window

0
 
sjm_eeCommented:
Nice one jools
0
 
zarcowAuthor Commented:
Thank you very much for your assistance.
0
 
joolsCommented:
:-)

Sorry Tintin I kinda stole your thunder.
0

Featured Post

Restore individual SQL databases with ease

Veeam Explorer for Microsoft SQL Server delivers an easy-to-use, wizard-driven interface for restoring your databases from a backup. No expert SQL background required. Web interface provides a complete view of all available SQL databases to simplify the recovery of lost database

  • 2
  • 2
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now