Actually, this already accounts for it. See the shift statements. They remove the first argument and move everything down. That's why I can just check $1 every loop.
i.e. if $1=a, $2=b, $3=c, after you do shift, you get $1=b, $2=c.
There's an extra shift in the flags that take arguments to keep the loop in sync.
If you have some options that take option arguments and some that don't, you'll find that getopts gives you lots of capabilities that the type of script provided in message #2 in this thread does not provide. These capabilities allow shell scripts to parse options like the standard utilities defined by the POSIX standards and the Single UNIX Specifications. (Multiple options can be grouped after a single "-", option arguments can be separate from the option flag or combined into a single operand, etc.)
For a better example of what you can do with getopts, try something like:
Save it in a file (e.g., tester). Change the /bin/ksh in the 1st line to an absolute pathname of a standards conforming shell on your system. I use the Korn shell, but this script will work with bash and several other shells. (However, it won't work with csh or similar shells like tcsh.) Make the script executable by running the command:
and try running it with several test cases. For example:
Last edited by Don Cragun; 02-11-2013 at 07:19 PM..
Reason: Fix typo...
These 2 Users Gave Thanks to Don Cragun For This Post:
Hi all
I have spent half a day trying to create a shell script which reads a configuration file on a line by line basis.
The idea of the file is that each will contain server information, such as IP address and various port numbers. The line could also be blank (The file is user created). Here... (1 Reply)
i have hundreds of thousands of txt files as below,
RADARSAT 1 SCENE DESCRIPTION
SCENE_ID c0005098
MDA ORDER NUMBER
GEOGRAPHICAL AREA CIS ScanSar Canada
SCENE START TIME APR 02 1997 23:05:10.222
SCENE STOP TIME APR 02 1997 23:02:49.695... (5 Replies)
Hello All,
I am writing an shell script but abruptly its not able to recognize switches in echo statement.
#!/bin/bash
top -n 1 -b>ankit
host=`hostname`
time=`cat ankit|grep load|tr -s " "|cut -d " " -f3`
load=`cat ankit|grep load|tr -s " "|cut -d "," -f4|cut -d ":" -f2`
... (3 Replies)
Hello all
I am getting data like
col1 | col2 | col3
asdafa | asdfasfa | asf*&^sgê
345./ |sdfasd23425^%^&^ | sdfsa23
êsfsfd | sf(* | sdfsasf
My requirement is like
I have to to read the file and remove all special characters and hex characters ranging form 00-1f from 1st column, remove %"'... (1 Reply)
I was wondering if there was a way to boot from openboot from the dvd drive. I was thinking about imaging the dvd to a blank drive and going about it that way. I just need to do a flash install. (5 Replies)
I iterate in string list well but when I try to add a case statement in order to wrap the string value in a more accurate message I faced different problems.
#Code starts
ST_CODES="CN CU BU CQ LE"
for ST_CODE in $ST_CODES
do
#echo $ST_CODE
CODE="$ST_CODE""\n"
... (3 Replies)
Hello all,
I need some help to create a script which contain a few strings on every line, and use those strings in a loop to fire some commands.
for exmaple the file looks like
tom
dave
bill
andy
paul
I want to read one line at a time and use it in loop like
command tom
command dave... (3 Replies)
Hi,
If i want to write my data on several tapes, (more than one tape), what switch(s) i need to use with tar.
In other word if my data needs the sapce more than one tape & i don't wanna to compress or ... my data. so is it possible to write up to the end of the tape & it asks to put another... (1 Reply)