Sponsored Content
Full Discussion: [BASH] Using getopts
Top Forums Shell Programming and Scripting [BASH] Using getopts Post 302894301 by sea on Monday 24th of March 2014 07:30:41 PM
Old 03-24-2014
List should have an optional (IF any at all) argument, saying, if one provides the servername or ip, it lists just that one, otherwise (empty,missing) it lists all.
So assume to 'remove' the argument requirement, but check if anything else were supplied..

Changes:
Code:
eval set -- $(getopt -l edit:,list,mount:,unmount:,help,debug -o e:l:m:u:hd -- "$@")

And then check within the 'list' function like [ -z $server_info ] && echo 'list all' || echo 'list only $server_info'

And thanks to the local example and Chubler's adaption of my code, i finaly understood that shift thing.

Thank you guys, you're the best! Smilie
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

help in getopts

hey need help with getopts again. i am using getopts to read my command line options and arguments. i can manage to do for options that have only one argument e.g srcipt_name -f 3 i am able to use getopts to do this but i am having problems two accept more than two agruments e.g.... (1 Reply)
Discussion started by: problems
1 Replies

2. Shell Programming and Scripting

getopts help

Hi i have part of the scripts below ,getopt for -h or ? not working for me. can anybody tell me if this sytax right or wrong. #!/usr/bin/ksh program=$(basename $0) ##################################################################################### function usageerr { RC=1 ... (3 Replies)
Discussion started by: GrepMe
3 Replies

3. Shell Programming and Scripting

using getopts

Hi, I have a program where I want to use getopts. I want to use "-i" option and then optionally supply arguments. If user dosent supply arguments, then also it should work. Please tell me how to proceed. Here is some code, this is not right code btw but a sample to understand what I want to... (1 Reply)
Discussion started by: som.nitk
1 Replies

4. Shell Programming and Scripting

[bash] getopts not executing when called second time.

Hi, Unexpectedly, the function below doesn't seem to work when called a second time. The output shows that when the function is called the first time, it works as expected but when it is called a second time, the loop that processes the options passed to the function, with the while loop,... (2 Replies)
Discussion started by: ASGR
2 Replies

5. Shell Programming and Scripting

? used in getopts

Suppose I have a code below . while getopts a: opt do case $opt in a) app_name="$OPTARG";; *) echo "$opt is an invalid option"; exit 1;; ?) echo "The value of $OPTARG is an invalid option"; exit 1;; esac done Could anyone please tell me in which case my... (1 Reply)
Discussion started by: maitree
1 Replies

6. Shell Programming and Scripting

bash:getopts command help

How can I say one of the options is required? can I use an if statement? let say: while getopts ":c:u:fp" opt; do case $opt in c) echo "-c was triggered, Parameter: $OPTARG" >&2;; u) echo "-u was triggered, Parameter: $OPTARG" >&2;; f) echo "-u was triggered,... (2 Replies)
Discussion started by: bashily
2 Replies

7. Shell Programming and Scripting

[BASH] getopts, OPTARG is passed but empty

EDIT: -- SOLVED -- Heyas, Getting used to optargs, but by far not understanding it. So i have that script that shall be 'changeable', trying to use the passed arguments to modify the script visuals. Passing: browser -t test -d sect $HOME Where -t should change the title, and -d... (0 Replies)
Discussion started by: sea
0 Replies

8. UNIX for Dummies Questions & Answers

Getopts

while getopts v OPTION do case $OPTION in v) echo "Hello" ;; *) exit 1;; esac done Suppose I have script tmp.sh Whose Signature is tmp.sh <fixed_argument> When I run the script with tmp.sh -v "file", it echoes a hello but, when I try the other way i.e, tmp.sh... (1 Reply)
Discussion started by: Devendra Hupri
1 Replies

9. UNIX for Advanced & Expert Users

[BASH] Getopts/shift within a function, unexpected behaviour

Hello Gurus :) I'm "currently" (for the last ~2weeks) writing a script to build ffmpeg with some features from scratch. This said, there are quite a few features, libs, to be downloaded, compiled and installed, so figured, writing functions for some default tasks might help. Specialy since... (3 Replies)
Discussion started by: sea
3 Replies

10. Shell Programming and Scripting

Getopts help

Hi All, I am writing a script to pass the getopts argument to the function which I have. But it as soon as I execute the script, the argument is taking it as blank. I tried using multiple way to check but its not working. Can someone please let me know what wrong in this code. function1()... (4 Replies)
Discussion started by: sidh_arth85
4 Replies
getopt(1)						      General Commands Manual							 getopt(1)

NAME
getopt - Parses command line flags and arguments SYNOPSIS
getopt format tokens DESCRIPTION
The getopt command is used to parse a list of tokens using a format that specifies expected flags and arguments. A flag is a single ASCII letter and, when followed by a : (colon), is expected to take a modifying argument that may or may not be separated from it by one or more tabs or spaces. (You can include multi-byte characters in arguments, but not as flag letters.) The getopt command completes processing when it has read all tokens or when it encounters the special token -- (double dash). It then out- puts the processed flags, a --, and any remaining tokens. If a token fails to match a flag, getopt writes a message to standard error. NOTES
In the csh, use the following command to run getopt: set argv=`getopt flag_string $*` EXAMPLES
The following is an example of the use of getopt in a skeleton shell script to parse options: #!/bin/sh # parse command line into arguments set -- `getopt a:bc $*` # check result of parsing if [ $? != 0 ] then exit 1 fi while [ $1 != -- ] do case $1 in -a) # set up the -a flag AFLG=1 AARG=$2 shift;; -b) # set up the -b flag BFLG=1;; -c) # set up the -c flag CFLG=1;; esac shift # next flag done shift # skip double dash # now do the work . . . The following are all equivalent arguments to the script: -a ARG -b -c -- A B C -a ARG -bc -- A B C -aARG -b -c -- A B C -b -c -a ARG -- A B C SEE ALSO
Commands: sh(1) Functions: getopt(3) getopt(1)
All times are GMT -4. The time now is 11:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy