01-10-2007
double-dash options
I need to create a file that accepts arguments and options, and the options have to allow for single-dash options (-abc) and double-dash options (--help). What is the best way to do this? Getopt(s) is great for single-dash, but chokes on double-dash. Do I really need to save the arguments to a file, and use grep?
7 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi!
I'm new in these forums and more or less new with Unix. So... here is the question:
does anyone know where is redirected the output of a command when you put >&- after it?
Does it means any standard file descriptor?
Thanks! (2 Replies)
Discussion started by: csecnarf
2 Replies
2. UNIX for Dummies Questions & Answers
so i have a simple file called -x and i need it renamed to x
now i dont understand why when using the most basic methods, only the code mv ./-x x changes the file name while using any other type of escape characters around the dash, such as single/double quotations or backslash, doesnt.
... (5 Replies)
Discussion started by: LumpSum
5 Replies
3. UNIX for Dummies Questions & Answers
Hello
I have this string
XYZ-ABC
DFT-ERT
QWE-TYU
I want to get the part after the dash. how to do that?
thanks (2 Replies)
Discussion started by: melanie_pfefer
2 Replies
4. Shell Programming and Scripting
hi
I am using ksh
#A="abc-def"
#typeset -u B="$A"
#echo $B
ABC-DEF
how to remove the dash?
i.e.
ABCDEF?
thank you (1 Reply)
Discussion started by: melanie_pfefer
1 Replies
5. Shell Programming and Scripting
Hi all,
Given a file name such as
EXAMPLE=lastname-02.30.71-firstname-town-other.tar.gz
How do I print everything before the first dash (i.e. lastname)
Note: I do not know exactly how many dashes or what information there will be in each file name so it is important that the code... (2 Replies)
Discussion started by: bashnewbee
2 Replies
6. Shell Programming and Scripting
Hi,
I must be overlooking something, but I don't understand why this doesn't work. I'm trying to grep on a date, excluding all the lines starting with a dash:
testfile:
#2013-12-31
2013-12-31code:
grep '^2013-12-31' testfileI'm expecting to see just the second line '2013-12-31' but I don't... (3 Replies)
Discussion started by: Subbeh
3 Replies
7. Shell Programming and Scripting
Well, guys I saw a question about GOTO for Python.
So this gave me the inspiration to attempt a GOTO function for 'dash', (bash and ksh too).
Machine: MBP OSX 10.14.3, default bash terminal, calling '#!/usr/local/bin/dash'...
This is purely a fun project to see if it is possible in PURE... (3 Replies)
Discussion started by: wisecracker
3 Replies
LEARN ABOUT ULTRIX
getopt
getopt(1) General Commands Manual getopt(1)
Name
getopt - parse command options
Syntax
set - - getopt optstring $*
Description
The command breaks up options in command lines for easy parsing by Shell procedures and checks for legal options. The optstring option
letters are recognized if a letter is followed by a colon, the option expects an argument which may or may not be separated from it by
white space. For further information, see
The special option, specified by two minus signs (- -), delimits the end of the options. If the delimiters are used explicitly, recognizes
it; otherwise, generates it. In either case, places the delimiter at the end of the options. The positional parameters ($1 $2 ...) of the
shell are reset so that each option is preceded by a single minus sign (-) and is in its own positional parameter; each option argument is
also parsed into its own positional parameter.
Examples
The following code fragment shows how you can process the arguments for a command that can take the options a or b, as well as the option
o, which requires an argument:
#!/bin/sh5
set -- getopt abo: $*
if [ $? != 0 ]
then
echo $USAGE
exit 2
fi
for i in $*
do
case $i in
-a | -b) FLAG=$i; shift;;
-o) OARG=$2; shift 2;;
--) shift; break;;
esac
done
This code accepts any of the following as equivalent:
cmd -aoarg file file
cmd -a -o arg file file
cmd -oarg -a file file
cmd -a -oarg -- file file
Diagnostics
The command prints an error message on the standard error when it encounters an option letter not included in optstring.
See Also
sh5(1), getopt(3)
getopt(1)