![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| parameters | jaay | Shell Programming and Scripting | 4 | 04-14-2008 01:10 AM |
| sed and parameters | scotty_123 | Shell Programming and Scripting | 7 | 03-26-2007 01:22 AM |
| Max NO of parameters | Shivdatta | Shell Programming and Scripting | 1 | 07-24-2006 05:11 AM |
| Need Parameters Help. | james2006 | Shell Programming and Scripting | 3 | 06-08-2006 07:46 AM |
| tar parameters | kmar | UNIX for Advanced & Expert Users | 4 | 10-23-2001 12:03 AM |
|
|
Submit Tools | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
parameters
I have a script that needs to check if the given parameters are a combination of 0123456789 and not a word or another irelevant character.please help
|
| Forum Sponsor | ||
|
|
|
#2
|
||||
|
||||
|
Code:
#!/bin/sh
for vi in "$@"
do
if [ "`echo $vi | sed 's/^[0-9]*$//'`" != "" ]; then
echo "ERROR: invalid parameter: "$vi;
fi
done
|
|
#3
|
||||
|
||||
|
bash/ksh
Code:
a="$*"
if [[ ${#a} -eq $(expr "$a" : '[0-9 ]*') ]] ; then
echo numbers
else
echo non-number
fi
|
|
#4
|
||||
|
||||
|
Another solution (for KSH)
Code:
for arg in "$@"
do
if [[ "$arg" = +([0-9]) ]]
then
echo "Valid parameter <$arg>"
else
echo "Invalid parameter <$arg>"
fi
done
Jean-Pierre. |
|
#5
|
|||
|
|||
|
is there anything for tcsh please?
|
|
#6
|
||||
|
||||
|
I'm really not a fan of tcsh, but anyway:
Code:
#!/bin/tcsh
set a = "$*"
if ( `expr "$a" : '.*'` == `expr "$a" : '[0-9 ]*'` ) then
echo numbers
else
echo non-number
endif
|
|
#7
|
|||
|
|||
|
Quote:
for var in $@; do if [[ `echo $var | awk -v var=${var} 'BEGIN{if(var!~/[[:digit:]]/)print 1;}'` -eq 1 ]]; then echo "Not a number" exit 0 fi done |
|||
| Google The UNIX and Linux Forums |