Size: 808
Comment: Improved examples and some more explanation.
|
Size: 870
Comment: portability
|
Deletions are marked like this. | Additions are marked like this. |
Line 6: | Line 6: |
read -sp "Press [enter] to continue..." | # Bash read -p "Press [enter] to continue..." # Bourne echo "Press [enter] to continue..." read junk |
Line 11: | Line 16: |
# Bash | |
Line 16: | Line 22: |
# Bash | |
Line 17: | Line 24: |
if ! read -sn 1 -t 5 -p "Will resume in 5 seconds. Press any key to abort..." | echo -n "Press a key within 5 seconds to cancel." if ! read -sn 1 -t 5 |
Line 22: | Line 30: |
For those of you who just want to pause for a while, regardless of the user's input, use `sleep`: | If you just want to pause for a while, regardless of the user's input, use `sleep`: |
Is there a "PAUSE" command in bash like there is in MSDOS batch scripts? To prompt the user to press any key to continue?
Use the following to wait until the user presses enter:
# Bash read -p "Press [enter] to continue..." # Bourne echo "Press [enter] to continue..." read junk
Or use the following to wait until the user presses any key to continue:
# Bash read -sn 1 -p "Press any key to continue..."
If you want to put a timeout on that, use the -t option to read:
# Bash echo "WARNING: You are about to do something stupid." echo -n "Press a key within 5 seconds to cancel." if ! read -sn 1 -t 5 then something_stupid fi
If you just want to pause for a while, regardless of the user's input, use sleep:
echo "The script is tired. Please wait a minute." sleep 60