Sponsored Content
Top Forums Shell Programming and Scripting Shell script that check the argument passed to it and prints error if test condition is not met Post 302674149 by mukulverma2408 on Thursday 19th of July 2012 05:28:38 AM
Old 07-19-2012
Shell script that check the argument passed to it and prints error if test condition is not met

I want to make a script that check for the argument passed to it and generates an error in case any character/string argument passed to it.

I am using below code, but its not working. can anyone help.

Code:
#!/bin/bash
if [ $@ -ne [0-9] ]; then
     echo 'An integer argument is passed to the script hence going to exit'
     exit 1
fi

Have also tried using :

Code:
#!/bin/bash
for i in $@
do
      if [ $i -ne [0-9] ]
      echo 'An integer argument is passed to the script hence going to exit'
      exit 1
     fi
done

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Check if argument passed is an integers

How do I check if the argument passed to a script is an integer? I am writting a script that will take to integers and want to be able to check before I go on. I am using bourne shell. Thanks in advance (13 Replies)
Discussion started by: elchalateco
13 Replies

2. Shell Programming and Scripting

need help with test condition in shell script

I'm new to scripting and I need help with a bourn shell script. What i'm trying to do is a test condition where "if the time is within 2 hours, it's true" and so on. The time is in the following format DATE=`/bin/date +"%Y%m%d%H%S"` for example, 20060907152000. So, what the script first... (9 Replies)
Discussion started by: pieman8080
9 Replies

3. Shell Programming and Scripting

How to check weather a string is like test* or test* ot *test* in if condition

How to check weather a string is like test* or test* ot *test* in if condition (5 Replies)
Discussion started by: johnjerome
5 Replies

4. Shell Programming and Scripting

shell script for ftp files passed in command line argument

i want to write a shell script function that will ftp the files passed in the command line . i have written a shell script for ftp but how will it do for all files passed in command line argument , i am passing 4 files as argument ./ftp.sh file1 file2 file3 file4 code written by me... (5 Replies)
Discussion started by: rateeshkumar
5 Replies

5. UNIX for Advanced & Expert Users

send mail script only if condition is met

only wc -l greater than 0 then send email to owner, otherwise do nothing. ie. result=powermt display dev=all|awk '{print $7}'|grep -i dead|wc -l if then echo $result else : fi mailx -s "there is dead path (s)" "mymail@mydomain.com" ----------- it is not working... (2 Replies)
Discussion started by: orafup
2 Replies

6. UNIX for Advanced & Expert Users

Error:--test: argument expected--Even though i give an argument.

Hi All, I am running the script VBoxManage list vms |sed 's/"//g' | cut -d " " -f1 > har1out.mytxt result=`cat har1out.mytxt | grep $1' echo $result echo $1 { if then echo pass else echo fail fi (2 Replies)
Discussion started by: harsha85
2 Replies

7. UNIX for Dummies Questions & Answers

Test: argument expected error in shell script

Hi, I am trying to write a small script that validates if there exist files that start with a pattern in a given directory. Below is the piece of my script: #!/usr/bin/ksh BTFDIR=/opt/ships/temp if then echo 'found' else echo 'not found' fi When I run this... (2 Replies)
Discussion started by: snvniranjanrao
2 Replies

8. Shell Programming and Scripting

Shell script to find the sum of argument passed to the script

I want to make a script which takes the number of argument, add those argument and gives output to the user, but I am not getting through... Script that i am using is below : #!/bin/bash sum=0 for i in $@ do sum=$sum+$1 echo $sum shift done I am executing the script as... (3 Replies)
Discussion started by: mukulverma2408
3 Replies

9. Shell Programming and Scripting

Awk. Abort script if condition was met.

I want to abort script if input variable matched first field in any line of a file. #!/bin/sh read INPUTVAR1 awk "{if(\$INPUTVAR1 == $1) x = 1} END {if(x==1) print \"I want to abort script here\"; else print \"OK\"}" /etc/some.conf I tried "exit" and system("exit") but no luck. (1 Reply)
Discussion started by: urello
1 Replies

10. Shell Programming and Scripting

Getting number of argument passed to a shell script

Hi Experts, I have been trying to work on a simple shell script that will just add the two argument passed to it. Here is what i tried : #!/bin/bash welcome(){ echo "Welcome to this Progg. which will accept two parameter" } main_logic(){ arg=$# echo "Number of argument passed is... (4 Replies)
Discussion started by: mukulverma2408
4 Replies
RUN-PARTS(8)						      System Manager's Manual						      RUN-PARTS(8)

NAME
run-parts - run scripts or programs in a directory SYNOPSIS
run-parts [--test] [--verbose] [--report] [--lsbsysinit] [--regex=RE] [--umask=umask] [--arg=argument] [--exit-on-error] [--help] [--ver- sion] [--list] [--reverse] [--] DIRECTORY run-parts -V DESCRIPTION
run-parts runs all the executable files named within constraints described below, found in directory directory. Other files and directo- ries are silently ignored. If neither the --lsbsysinit option nor the --regex option is given then the names must consist entirely of ASCII upper- and lower-case let- ters, ASCII digits, ASCII underscores, and ASCII minus-hyphens. If the --lsbsysinit option is given, then the names must not end in .dpkg-old or .dpkg-dist or .dpkg-new or .dpkg-tmp, and must belong to one or more of the following namespaces: the LANANA-assigned namespace (^[a-z0-9]+$); the LSB hierarchical and reserved namespaces (^_?([a-z0-9_.]+-)+[a-z0-9]+$); and the Debian cron script namespace (^[a-zA-Z0-9_-]+$). If the --regex option is given, the names must match the custom extended regular expression specified as that option's argument. Files are run in the lexical sort order (according to the C/POSIX locale character collation rules) of their names unless the --reverse option is given, in which case they are run in the opposite order. OPTIONS
--test print the names of the scripts which would be run, but don't actually run them. --list print the names of the all matching files (not limited to executables), but don't actually run them. This option cannot be used with --test. -v, --verbose print the name of each script to stderr before running. --report similar to --verbose, but only prints the name of scripts which produce output. The script's name is printed to whichever of stdout or stderr the script first produces output on. --reverse reverse the scripts' execution order. --exit-on-error exit as soon as a script returns with a non-zero exit code. --lsbsysinit use LSB namespaces instead of classical behavior. --new-session run each script in a separate process session. If you use this option, killing run-parts will not kill the currently running script, it will run until completion. --regex=RE validate filenames against custom extended regular expression RE. See the EXAMPLES section for an example. -u, --umask=umask sets the umask to umask before running the scripts. umask should be specified in octal. By default the umask is set to 022. -a, --arg=argument pass argument to the scripts. Use --arg once for each argument you want passed. -- specifies that this is the end of the options. Any filename after -- will be not be interpreted as an option even if it starts with a hyphen. -h, --help display usage information and exit. -V, --version display version and copyright and exit. EXAMPLES
Print the names of all files in /etc that start with `p' and end with `d': run-parts --list --regex '^p.*d$' /etc COPYRIGHT
Copyright (C) 1994 Ian Jackson. Copyright (C) 1996 Jeff Noxon. Copyright (C) 1996, 1997, 1998 Guy Maor Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Clint Adams run-parts is free software; see the GNU General Public License version 2 or later for copying conditions. There is no warranty. Debian 27 Jun 2012 RUN-PARTS(8)
All times are GMT -4. The time now is 06:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy