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
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
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
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
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
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
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
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
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
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
LEARN ABOUT SUSE
mysql_fix_privilege_tables
MYSQL_FIX_PRIVILE(1) MySQL Database System MYSQL_FIX_PRIVILE(1)
NAME
mysql_fix_privilege_tables - upgrade MySQL system tables
SYNOPSIS
mysql_fix_privilege_tables --password=root_password
DESCRIPTION
Note
In MySQL 5.1.7, mysql_fix_privilege_tables was superseded by mysql_upgrade, which should be used instead. See mysql_upgrade(1).
Some releases of MySQL introduce changes to the structure of the system tables in the mysql database to add new privileges or support new
features. When you update to a new version of MySQL, you should update your system tables as well to make sure that their structure is up
to date. Otherwise, there might be capabilities that you cannot take advantage of.
mysql_fix_privilege_tables is an older script that previously was used to uprade the system tables in the mysql database after a MySQL
upgrade.
Before running mysql_fix_privilege_tables, make a backup of your mysql database.
On Unix or Unix-like systems, update the system tables by running the mysql_fix_privilege_tables script:
shell> mysql_fix_privilege_tables
You must run this script while the server is running. It attempts to connect to the server running on the local host as root. If your root
account requires a password, indicate the password on the command line like this:
shell> mysql_fix_privilege_tables --password=root_password
The mysql_fix_privilege_tables script performs any actions necessary to convert your system tables to the current format. You might see
some Duplicate column name warnings as it runs; you can ignore them.
After running the script, stop the server and restart it so that any changes made to the system tables take effect.
On Windows systems, MySQL distributions include a mysql_fix_privilege_tables.sql SQL script that you can run using the mysql client. For
example, if your MySQL installation is located at C:Program FilesMySQLMySQL Server 5.1, the commands look like this:
C:> cd "C:Program FilesMySQLMySQL Server 5.1"
C:> binmysql -u root -p mysql
mysql> SOURCE share/mysql_fix_privilege_tables.sql
Note
Prior to version 5.1.17, the mysql_fix_privilege_tables.sql script is found in the scripts directory.
The mysql command will prompt you for the root password; enter it when prompted.
If your installation is located in some other directory, adjust the path names appropriately.
As with the Unix procedure, you might see some Duplicate column name warnings as mysql processes the statements in the
mysql_fix_privilege_tables.sql script; you can ignore them.
After running the script, stop the server and restart it.
COPYRIGHT
Copyright 2007-2008 MySQL AB, 2008-2010 Sun Microsystems, Inc.
This documentation is free software; you can redistribute it and/or modify it only under the terms of the GNU General Public License as
published by the Free Software Foundation; version 2 of the License.
This documentation is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with the program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or see http://www.gnu.org/licenses/.
SEE ALSO
For more information, please refer to the MySQL Reference Manual, which may already be installed locally and which is also available online
at http://dev.mysql.com/doc/.
AUTHOR
Sun Microsystems, Inc. (http://www.mysql.com/).
MySQL 5.1 04/06/2010 MYSQL_FIX_PRIVILE(1)