Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Ksh How to test if variable is numeric?? Post 302183672 by era on Wednesday 9th of April 2008 04:23:16 PM
Old 04-09-2008
So my intuition was right there after all (-:

The thing with the "non-zero" case is I'd like to have only one place where you end up printing out a warning. I didn't want to bring it up before, but here's one attempt.

Code:
while true; do
  case $zipcode in
    00000) zipcode="force a warning on next iteration";;
    [0-9][0-9][0-9][0-9][0-9]) break;;
    *) echo "${myline}"
       echo "ZIPCODE WARNING! -> ${zipcode}" >&2
       break;;
  esac
done

The loop is really just to keep it going for one more round in the zero case. I honestly don't know if this is more elegant than two have two code branches where the warning is printed.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

how to set a variable to accept alpha-numeric characters?

I am working on a shell program that needs to accept alpha-numeric input (i.e., P00375); when I use a simple 'read' statement to read in the input (i.e., read LOG), I receive the message "p00375: bad number". How must I adjust my input statement to accept alpha-numerics? Thanks! Brent (3 Replies)
Discussion started by: bcaunt
3 Replies

2. Shell Programming and Scripting

ksh - test if string contains alphanumeric...

Okay I will let users input spaces as well :) I am having a mental block. I have done a couple of searches but havent found anything that I understand (the likes of :alpha: and awk). Basically I want to give the user an option to enter some text which will go down as a field within a flat... (3 Replies)
Discussion started by: tugger
3 Replies

3. Shell Programming and Scripting

to check variable if its non numeric

if test $b -ne then echo "\n\n\n\tPassword reset has been done successfully" else echo "\n\n\n\tAn error occurred" fi i want to check whether $b is non-numeric so how to do that? (3 Replies)
Discussion started by: sachin.gangadha
3 Replies

4. Shell Programming and Scripting

Replace variable length numeric string

I have a customer who logged some cc and bank account numbers in their apache logs. I got the cc numbers x'd out with sed -e 's/args=\{16\}/args=XXXXXXXXXXXXXXXX/g' -e 's/cardnum=\{16\}/cardnum=XXXXXXXXXXXXXXXX/g'but that wasn't too difficult due to the value being 16 digits. The bank account... (7 Replies)
Discussion started by: mk4mzid
7 Replies

5. Shell Programming and Scripting

Remove non numeric values from a variable

Hello all, I am working on a basic script but need a little help. Issue: I am running a SQL Query using sqlplus and a shell script. I have the output of the statement stored as variable $A. $A is set to "other text here 45678754 other text here". I need to strip all text except that numeric... (13 Replies)
Discussion started by: ownedthawte
13 Replies

6. Shell Programming and Scripting

KSH: Test telnet and exit

Hi, I need to do a test Telnet in KSH and if the connection is good then disconnect the telnet session with out logging in and without exiting the shell script. Example output of a good connection: $telnet xxx.xx.xx.xxx xxxx Trying xxx.xx.xx.xxx... Connected to xxx.xx.xx.xxx. Escape... (1 Reply)
Discussion started by: calex
1 Replies

7. Shell Programming and Scripting

String variable to numeric conversion in perl

Hi guys I am having this strange issue.Well my requirement is like below Compare two values between flat file and oracle DB Via perl script I am easily getting the rowcount Now I connect sql plus via perl and the column value that returns is string my $sqlplus_settings = ''; my... (7 Replies)
Discussion started by: Pratik4891
7 Replies

8. Shell Programming and Scripting

Assigning numeric values to variable

I have a code like this v_num=9 comp_num=39 if then echo "pass" fi echo "end" I am getting an error ksh: v_num=99 comp_num=39 if then echo "pass" fi echo "end" (3 Replies)
Discussion started by: swayam123
3 Replies

9. Shell Programming and Scripting

How to get a numeric value from Oracle to UNIX variable without spaces?

Hi, I am using the below code to get a numeric value from oracle to unix variable: BD_RC_CNT=`sqlplus -s ${WMD_DM_CONNECT} <<EOF set heading off set pagesize 0 Select count(*) from wmd_bad_data where proc_id = ${PROC_ID} and file_id = ${FILE_ID} and file_dt =... (7 Replies)
Discussion started by: Arun Mishra
7 Replies

10. Shell Programming and Scripting

Checking numeric expression in .ksh script

Gurus, Please need your help. I'm saving a filetimestamp into $filetimestamp and say....echo $filetimestamp gives 2015021612 I'm saving a cutoff_time into $cutoff_time say....echo $cutoff_time gives 2015021514 now my requirement is to check if $filetimestamp is greater than... (4 Replies)
Discussion started by: thummi9090
4 Replies
Nagios::Plugin::Functions(3pm)				User Contributed Perl Documentation			    Nagios::Plugin::Functions(3pm)

NAME
Nagios::Plugin::Functions - functions to simplify the creation of Nagios plugins SYNOPSIS
# Constants OK, WARNING, CRITICAL, and UNKNOWN exported by default use Nagios::Plugin::Functions; # nagios_exit( CODE, $message ) - exit with error code CODE, # and message "PLUGIN CODE - $message" nagios_exit( CRITICAL, $critical_error ) if $critical_error; nagios_exit( WARNING, $warning_error ) if $warning_error; nagios_exit( OK, $result ); # nagios_die( $message, [$CODE] ) - just like nagios_exit(), # but CODE is optional, defaulting to UNKNOWN do_something() or nagios_die("do_something() failed horribly"); do_something_critical() or nagios_die("do_something_critical() failed", CRITICAL); # check_messages - check a set of message arrays, returning a # CODE and/or a result message $code = check_messages(critical => @crit, warning => @warn); ($code, $message) = check_messages( critical => @crit, warning => @warn, ok => @ok ); # get_shortname - return the default short name for this plugin # (as used by nagios_exit/die; not exported by default) $shortname = get_shortname(); DESCRIPTION
This module is part of the Nagios::Plugin family, a set of modules for simplifying the creation of Nagios plugins. This module exports convenience functions for the class methods provided by Nagios::Plugin. It is intended for those who prefer a simpler functional interface, and who do not need the additional functionality of Nagios::Plugin. EXPORTS Nagios status code constants are exported by default: OK WARNING CRITICAL UNKNOWN DEPENDENT as are the following functions: nagios_exit nagios_die check_messages The following variables and functions are exported only on request: %ERRORS %STATUS_TEXT get_shortname max_state max_state_alt FUNCTIONS The following functions are supported: nagios_exit( <CODE>, $message ) Exit with return code CODE, and a standard nagios message of the form "PLUGIN CODE - $message". nagios_die( $message, [CODE] ) Same as nagios_exit(), except that CODE is optional, defaulting to UNKNOWN. NOTE: exceptions are not raised by default to calling code. Set $_use_die flag if this functionality is required (see test code). check_messages( critical => @crit, warning => @warn ) Convenience function to check a set of message arrays and return an appropriate nagios return code and/or a result message. Returns only a return code in scalar context; returns a return code and an error message in list context i.e. # Scalar context $code = check_messages(critical => @crit, warning => @warn); # List context ($code, $msg) = check_messages(critical => @crit, warning => @warn); check_messages() accepts the following named arguments: critical => ARRAYREF An arrayref of critical error messages - check_messages() returns CRITICAL if this arrayref is non-empty. Mandatory. warning => ARRAYREF An arrayref of warning error messages - check_messages() returns WARNING if this arrayref is non-empty ('critical' is checked first). Mandatory. ok => ARRAYREF | SCALAR An arrayref of informational messages (or a single scalar message), used in list context if both the 'critical' and 'warning' arrayrefs are empty. Optional. join => SCALAR A string used to join the relevant array to generate the message string returned in list context i.e. if the 'critical' array @crit is non-empty, check_messages would return: join( $join, @crit ) as the result message. Optional; default: ' ' (space). join_all => SCALAR By default, only one set of messages are joined and returned in the result message i.e. if the result is CRITICAL, only the 'critical' messages are included in the result; if WARNING, only the 'warning' messages are included; if OK, the 'ok' messages are included (if supplied) i.e. the default is to return an 'errors-only' type message. If join_all is supplied, however, it will be used as a string to join the resultant critical, warning, and ok messages together i.e. all messages are joined and returned. get_shortname Return the default shortname used for this plugin i.e. the first token reported by nagios_exit/nagios_die. The default is basically uc basename( $ENV{NAGIOS_PLUGIN} || $0 ) with any leading 'CHECK_' and trailing file suffixes removed. get_shortname is not exported by default, so must be explicitly imported. max_state(@a) Returns the worst state in the array. Order is: CRITICAL, WARNING, OK, UNKNOWN, DEPENDENT The typical usage of max_state is to initialise the state as UNKNOWN and use it on the result of various test. If no test were performed successfully the state will still be UNKNOWN. max_state_alt(@a) Returns the worst state in the array. Order is: CRITICAL, WARNING, UNKNOWN, DEPENDENT, OK This is a true definition of a max state (OK last) and should be used if the internal tests performed can return UNKNOWN. SEE ALSO
Nagios::Plugin; the nagios plugin developer guidelines at http://nagiosplug.sourceforge.net/developer-guidelines.html. AUTHORS
This code is maintained by the Nagios Plugin Development Team: http://nagiosplug.sourceforge.net COPYRIGHT AND LICENSE
Copyright (C) 2006 by Nagios Plugin Development Team This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2011-12-23 Nagios::Plugin::Functions(3pm)
All times are GMT -4. The time now is 08:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy