check input = "empty" and "numeric"


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting check input = "empty" and "numeric"
# 1  
Old 12-12-2007
check input = "empty" and "numeric"

Hi

how to check input is "empty" and "numeric" in ksh?

e.g:
./myscript.ksh k
output show: invalid number input

./myscript.ksh
output show: no input

./myscript.ksh 10
output show: input is numeric
# 2  
Old 12-12-2007
checking for empty is easy

Code:
if test "$VAR" = ""
then 
    echo empty
fi

checking for numeric, I would use case,

Code:
case "$VAR" in
[0-9]* )
         echo at least it starts with a numeric...
        ;;
* )
       ;;
esac

# 3  
Old 12-12-2007
thanks. is working fine.
# 4  
Old 12-12-2007
If you want to be sure the entire argument is numeric (rather than just the first character), use grep:
Code:
if echo $VAR | grep [^0-9] > /dev/null
then
  echo "Some non-numeric characters detected"
else
  echo "All numeric"
fi

# 5  
Old 12-13-2007
The case statement itself can manage full numeric check (for both integers and floating point numbers):

Quote:
#!/usr/bin/ksh

VAR=$1

if test "$VAR" = ""
then
echo empty
fi

case $VAR in
+([0-9])*(.)*([0-9]) )
echo it definitely is numeric
;;
* )
;;
esac
HTH
# 6  
Old 12-13-2007
this is the best +([0-9])*(.)*([0-9]) )
Smilie
# 7  
Old 12-13-2007
Tests for an empty value can be done using the "-z" option of test:

Code:
if [ -z "$var" ] ; then
....

bakunin
Login or Register to Ask a Question

Previous Thread | Next Thread

7 More Discussions You Might Find Interesting

1. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies

2. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

3. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

4. Solaris

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

5. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

6. Solaris

How to check "faulty" or "stalled" print queues - SAP systems?

Hi all, First off, sorry for a long post but I think I have no other option if I need to explain properly what I need help for. I need some advise on how best to check for "faulty" or "stalled/jammed' print queues. At the moment, I have three (3) application servers which also acts as print... (0 Replies)
Discussion started by: newbie_01
0 Replies

7. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies
Login or Register to Ask a Question