On Thu, 19 Mar 2020 22:44:23 +0500
Sarosh Arif <sarosh.a...@emumba.com> wrote:

> Bugzilla ID: 419
> Cc: sta...@dpdk.org
> Signed-off-by: Sarosh Arif <sarosh.a...@emumba.com>
> ---
>  usertools/dpdk-setup.sh | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/usertools/dpdk-setup.sh b/usertools/dpdk-setup.sh
> index e5bbe9fee..bdacf5256 100755
> --- a/usertools/dpdk-setup.sh
> +++ b/usertools/dpdk-setup.sh
> @@ -595,8 +595,14 @@ while [ "$QUIT" == "0" ]; do
>       echo -n "Option: "
>       read our_entry
>       echo ""
> -     ${OPTIONS[our_entry]} ${our_entry}
> -
> +     echo $our_entry | grep "^[0-9]*$" > /dev/null
> +
> +     if  [ "$?" -eq 0 ] ; then
> +             ${OPTIONS[our_entry]} ${our_entry}
> +     else
> +             echo "Wrong input format"
> +     fi
> +
>       if [ "$QUIT" == "0" ] ; then
>               echo
>               echo -n "Press enter to continue ..."; read


Why not do it with regex (abi check has similar code) and
use the nice format.

Also handle EOF

diff --git a/usertools/dpdk-setup.sh b/usertools/dpdk-setup.sh
index e5bbe9feec49..f594769a4ef1 100755
--- a/usertools/dpdk-setup.sh
+++ b/usertools/dpdk-setup.sh
@@ -592,10 +592,16 @@ while [ "$QUIT" == "0" ]; do
        echo "[$OPTION_NUM] Exit Script"
        OPTIONS[$OPTION_NUM]="quit"
        echo ""
-       echo -n "Option: "
-       read our_entry
+       read -p "Option: " our_entry
+       [ $? -eq 0 ] || exit 0
+
        echo ""
-       ${OPTIONS[our_entry]} ${our_entry}
+       numeric="^[[:digit:]]+$"
+       if [[ "$our_entry" =~ $numeric ]]; then
+               ${OPTIONS[our_entry]} ${our_entry}
+       else
+               echo "Please enter a numeric value"
+       fi

        if [ "$QUIT" == "0" ] ; then
                echo
--

Reply via email to