[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 523
  • Last Modified:

Bash script, string validation help

hello
i have a small code
lets say:
echo "Give me the port"
read port
how can i see if $port is formed only by numbers and do a while (while port is not formed only by numbers echo "the port is wrong written, type it again")

thanx
0
rares_dumitrescu
Asked:
rares_dumitrescu
  • 2
2 Solutions
 
ozoCommented:
while echo $port | grep -v '^[0-9]*$' ; do
  echo "Give me the port"
  read port
done
0
 
TintinCommented:
#!/bin/bash
while true
do
  echo -e "Give me the port: \c"
  read port

  [ -z "$port" ] && continue
  echo $port | grep -q "^[0-9][0-9]*$" && break
  echo "the port is wrong.  Please type it again"
done

echo "Port number is $port"
0
 
rares_dumitrescuAuthor Commented:
Any ideeas on how to put this in a while for a dialog menu ?

The code is:
port=1501

if [ "$answer" = "1" ]; then
cat /dev/null > $tempfile
   dialog --title "You are using the command - getpsy" \
          --inputbox "Please select the port for the psybnc \n\
You are now using the port: $port" 8 45 $port
   port=`cat $tempfile`

while [ -here if the port is lower than 1500 or it contains charcters, the script should ask for the port again- ]
do
cat /dev/null > $tempfile

   dialog --title "You are using the command - getpsy" \
          --inputbox "Please select the port for the psybnc \n\
You are now using the port: $port" 8 45 $port
   port=`cat $tempfile`
done
cat /dev/null > $tempfile
fi

What can i put in that while [ ] ?
Thanx
0
 
ozoCommented:
while echo $port | grep  '[^0-9]' || test "$port" -lt 1500 ; do
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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