Sponsored Content
Top Forums Shell Programming and Scripting $OPTARG changes commandline input Post 302412691 by thommes_pommes on Tuesday 13th of April 2010 09:03:28 AM
Old 04-13-2010
$OPTARG changes commandline input

Hi there,

I hope, that I do not open an thread, that is already existing, but I didn't found something matching with my problem while searching for problems with "getopts"

My problem ist, that I'm taking arguments from commandline into my script with getopts, I've an flag -s, after that there comes an path to an *.sql File.
e.g. script.sh -s /batch/alpha/database/create_db.sql

This is no problem, but I want to have it more save, want, that the custumer must exactly hit ONE file, even, if he/she is using joker like *.

Therefore I wanted to count the hits, and if there is more than 1 hit, the script should terminate.

But if I type for example: ./script.sh -s /test/test*.sql and in the directory are the files "test.sql" and "test1.sql" I will not find the term "/test/test*.sql" in $OPTARG but "/test/test1.sql" !!!

Is there any chance, perhaps some kind of quoting, that I can get what I typed in on the commandline?? Only then I could check, if the term produces more than one matchings.


Thank you for the help and excuse my worse English, as I'm coming from Germany.

So long,

Thomas
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Usage of optarg

Hello Friends, I need to pass arguments to a shell scripts. but for this i need to take the arguments only if they are supplied to the script as arguments. Like : Prompt > scriptname -d device_cd -s message so how do i capture these arguments ?> i think we have to use optarg.but i dont... (5 Replies)
Discussion started by: sveera
5 Replies

2. Programming

command line option: optarg

Hi I'm learning how to add in programm another option by command line. For example in the "my_prog" i want to add a " -k " option and then write a number. I mean: my_prog -k 50 and the i should use the number 50. I'm reading about getopt_long and optarg, and what i have done in the code... (0 Replies)
Discussion started by: Dedalus
0 Replies

3. Shell Programming and Scripting

OPTARG is not taking SPACE

Hi I have below code in one of my shell script: if ; then fail $USAGE; fi while getopts hz:r:t:dz: o do case "$o" in h) echo $USAGE ; exit 0;; r) export REQ_ID="$OPTARG";; t) TIMESPAN="$OPTARG";; d) detail="true";; ) ... (0 Replies)
Discussion started by: mohsin.quazi
0 Replies

4. Shell Programming and Scripting

Using curl in commandline

Hi, I am using curl to hit a url using http in solaris 10 using commandline, I want to transfer an attachment(using multipart curl -F) also as a part of the request. If anyone has used kindly help me with the syntax. I am using below command: /usr/local/bin/curl -v... (1 Reply)
Discussion started by: manishmaha
1 Replies

5. Shell Programming and Scripting

Pass date range into optarg

here is the code echo begin while getopts 1:2:3:4: mode do case $mode in 1)echo "You have chosen mode1" case $OPTARG in a) echo "User Specified Date Range" rangelist.sh ;; b) echo "user specified month and year";; ?) echo "Default, Current... (4 Replies)
Discussion started by: pravsripad
4 Replies

6. Shell Programming and Scripting

Multiple commandline switches

I have a script that has commandline switches that work no problem. But i don't know how to enable it to have multiple switches at one time. So I'd want myscript -h -o or even myscript -ho but i'm having no luck incorporating this. I tried shifting but i'm not getting it. Thanks ----------... (0 Replies)
Discussion started by: DC Slick
0 Replies

7. Shell Programming and Scripting

Checking commandline

mymk target How to check is on commandline or no? Cannot to find out ;( Know that I need to use if.....new in shell sorry Please use code tags next time for your code and data. (2 Replies)
Discussion started by: Manueldo
2 Replies

8. 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

9. Shell Programming and Scripting

Getopts - space in argument (OPTARG)

Hi, I want to capture space as well from the argument eg: script.ksh -m "Message from xyz" -e "email@xyz.com" script.ksh -m 'Message from xyz' -e 'email@xyz.com' I am parsing using getopts, but for option "m" OPTARG is returning only "Message". Please use code tags next time for... (9 Replies)
Discussion started by: tostay2003
9 Replies
oar-database(1) 						   OAR commands 						   oar-database(1)

NAME
oar-database - create/initialize/upgrade/reset/drop the oar database SYNOPSIS
oar-database --create [OPTIONS] oar-database --drop [OPTIONS] oar-database --setup [OPTIONS] oar-database --reset [OPTIONS] DESCRIPTION
Manage the oar database. --setup Initialize/Upgrade an existing database. --reset Reset an existing database. --create Create and initialize a new database/user. --drop Drop an existing database/user. OPTIONS
General parameters --conf=OAR_CONF_FILE Define the oar configuration file to use. By default /etc/oar/oar.conf is used. This file doesn't exist, the default parameters for each value are used. --update-conf The database parameters given in the command line are writen to the OAR_CONF_FILE -h,--help Display this help. -d,--debug Display more information during the script execution -f,--force-sql Force to resume the execution even if an sql instruction fails -y,--force-yes This option will cause oar-database to continue without prompting if it is doins something potentially harmful Database admin parameters These parameters are only needed for database/user creation or removing. --db-is-local For --create or --drop, this option tells that the database is local. oar-database can use local admin account to execute command (useful for postgres). --db-admin-user=DB_ADMIN_USER For --create or --drop, this option gives the privilegied user to use. --db-admin-pass=DB_ADMIN_PASS For --create or --drop, this option gives the privilegied user pass to use. SQL parameters By default, if not specified, all the sql parameters are taken from the OAR_CONF_FILE. It is preferable to set these values directly to this file. --db-type=DB_TYPE The type of the SQL database. It can be currently, mysql or Pg (for postgresql). --db-user=DB_USER Connect to the database as the user DB_USER instead of the one given in OAR_CONF_FILE. By default, if OAR_CONF_FILE doesn't specify a user, it is oar. --db-pass=DB_PASS Connect to the database with the password DB_PASS instead of the one given in OAR_CONF_FILE. --db-host=DB_HOST Connect to the database on the host DB_HOST, By default, if OAR_CONF_FILE doesn't specify a host, it is localhost. --db-port=DB_PORT Connect to the database on the port DB_PORT, By default, if OAR_CONF_FILE doesn't specify a port, the value depend on the DB_TYPE. if DB_TYPE is mysql, DB_PORT is 3306. If DB_TYPE is postgresql, DB_PORT is 5432. --db-name=DB_NAME Connect to the database on the host DB_HOST, By default, if OAR_CONF_FILE doesn't specify a database name, it is oar. --db-ro-user=DB_RO_USER same as --db-user except that it is for the read only access. --db-ro-pass=DB_RO_PASS same as --db-pass except that it is for the read only access. EXAMPLES
Mysql First you need to specify the sql parameters in /etc/oar/oar.conf. These parameters will be used by oar-database. To create a new database (assuming that the sql root password is PASS): oar-database --create --db-admin-user root --db-admin-pass PASS To upgrade an existing database: oar-database --setup Postgresql First you need to specify the sql parameters in /etc/oar/oar.conf. These parameters will be used by oar-database. Then if your postgresql database is on the local system, you can use the option --db-is-local (otherwise, the procedure is the same as Mysql). So oar-database will use the postgres unix user to administrate the database (you need privilegied access to the local system). To create a new database: oar-database --create --db-is-local To upgrade an existing database: oar-database --setup Advanced usages To make some tests or to administrate several databases, you can also specify the sql parameters on the command line. For example: oar-database --create --db-type=Pg --db-host=HOST --db-user=oar --db-pass=PASS --db-admin-user=ADMIN_USER --db-admin-pass=ADMIN_PASS will create the oar database and the oar user on the postgresql system hosted by HOST. The user ADMIN_USER must have the right to create new databases and new roles on this system. FILES
/usr/lib/oar/database/mysql_structure.sql, /usr/lib/oar/database/pg_structure.sql SQL instructions for creating the structure of the oar database. /usr/lib/oar/database/mysql_default_admission_rules.sql, /usr/lib/oar/database/pg_default_admission_rules.sql SQL instructions for inserting the default admission rules in the oar database. /usr/lib/oar/database/default_data.sql SQL instructions for inserting the default data in the oar database. /usr/lib/oar/database/mysql_reset_structure.sql, /usr/lib/oar/database/pg_reset_structure.sql SQL instruction for emptying an existing oar database. /usr/lib/oar/database/mysql_structure_upgrade_*.sql, /usr/lib/oar/database/pg_structure_upgrade_*.sql SQL instructions for upgrading an existing database. oar-database 2012-06-26 oar-database(1)
All times are GMT -4. The time now is 05:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy