Bash Positional Parameters Question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Bash Positional Parameters Question
# 1  
Old 04-02-2012
Question Bash Positional Parameters Question

In a Bash script I used getopts command to let a user does something regards to the selected options. The question is: How do you find out what is the name of the file that user inserted in the command line like the following:
Quote:
$ ./myscriptname.bash -u username -t filename
The good part is this file is always the last argument in the command line and there won't be any switches after the file. Also, the name of the file may change and it is not fixed!

Last edited by bashily; 04-02-2012 at 10:12 PM.. Reason: Better explanation
# 2  
Old 04-02-2012
This is from tldp.org - based on your question history I would strongly advise you to read:

Advanced Bash-Scripting Guide

You can download a pdf from there. It is all free.

This is from the getopts page. Among lots of other things it explains getopts use of the : character

Code:
while getopts ":abcde:fg" Option
# Initial declaration.
# a, b, c, d, e, f, and g are the options (flags) expected.
# The : after option 'e' shows it will have an argument passed with it.
do
case $Option in
a ) # Do something with variable 'a'.
b ) # Do something with variable 'b'.
...
e) # Do something with 'e', and also with $OPTARG,
# which is the associated argument passed with option 'e'.
...
g ) # Do something with variable 'g'.
esac
done

$OPTARG would be the value of -t filename where "t:" exists in the the format string.
There is also an example of how to handle trailing arguments that are not options.
This User Gave Thanks to jim mcnamara For This Post:
# 3  
Old 04-03-2012
Thanks so much. it was the greatest help ever! I got what I wanted. The source that you introduced was a fantastic bash scripting source.
Cheers
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Positional parameters in if statement

I am trying to code an if statement that accepts two parameters and see if those parameters are in another file called teledir.txt. If it already exists in the file, it is to say "Entry Exists". If not, I add it to the file and say "Entry Added". This is the code I have so far: if ; then ... (1 Reply)
Discussion started by: Eric7giants
1 Replies

2. UNIX for Beginners Questions & Answers

'sed' with Positional Parameters

I'm new with 'sed' and for sure something still I don't understand yet with it. If you see my output on ">Output..." portion, the new directory still on "source_dir" instead of "dest_dir". You may disregard for the "tar" part, this is just a test script, just for me to understand 'sed' using the... (3 Replies)
Discussion started by: daryl0505
3 Replies

3. UNIX for Dummies Questions & Answers

Default values for positional parameters - dummy question I think

Hi, Sorry for a dummy question I believe. I am just wanting to know how do I assign a default $1 argument if one is not provided. At the moment, I am doing something like below: arg1="${1:-foo}"And then I check $arg1 in case/esac. I am just wondering if there is a way for me to simply do... (3 Replies)
Discussion started by: newbie_01
3 Replies

4. Shell Programming and Scripting

How to call a bash script with positional parameters?

Hi, I have a script which will be executed using the below command, bin/nutch crawl urls -dir /data/test/ bin/nutch - Script file crawl, urls, /data/test/ - Parameters -dir - Option The above script should executed from a shell script named test.sh. I have the below code to execute... (2 Replies)
Discussion started by: vel4ever
2 Replies

5. Shell Programming and Scripting

checking the positional parameters

Hi all, I have one small requirment... I have prepared one script. we have to pass two possitional parameters to the script. What I want to do is if the parameters are not passed then i dont want the script to start the process... For ex: $ ./a.sh parm1 parm2 #Here, it can start... (7 Replies)
Discussion started by: raghu.iv85
7 Replies

6. UNIX for Dummies Questions & Answers

Positional Parameters

Can someone tell me in more layman's terms what positional parameters are and give a good example? My book again is confusing me. :confused: (1 Reply)
Discussion started by: Straitsfan
1 Replies

7. Shell Programming and Scripting

Setting "default" positional parameters (in bash)

Hi, I have a script that processes the positional parameters provided on the command line, or - if none are provided - uses some defaults instead. I've currently got it written as follows, which works like a charm, but I was wondering if there is a different/other/better/... way of doing... (2 Replies)
Discussion started by: pvdb
2 Replies

8. UNIX for Dummies Questions & Answers

Positional parameters

I need to get file names from commandline arguments, it may be any no of arguements, Using for loop i got but how do i display it, bcoz $i will give the number i is assigned $$i is not working either $($i), i need the names of the files got in the arguement (2 Replies)
Discussion started by: shalu@ibm
2 Replies

9. UNIX for Dummies Questions & Answers

Positional Parameters

Hello, I am using the Bourne shell. I am trying to understand the concept of positional parameters. I do understand that positional parameters: 1. Are initialized by shell 2. Have a max of 9 parameters ($1 to $9) 3. Have no limit on the number of arguments 4. Can be rearranged... (15 Replies)
Discussion started by: ericelysia
15 Replies

10. Shell Programming and Scripting

Positional Parameters

HPUX11.0/Korn Shell I have an old script that takes in a series of arguments when its called. The script is really more of a common set of functions that gets called by other scripts as needed. I have been asked to make this into a menu driven script to rollout to app support for their use during... (2 Replies)
Discussion started by: google
2 Replies
Login or Register to Ask a Question