Sponsored Content
Top Forums Shell Programming and Scripting Quoting issue: Trouble with bash strings in script Post 302394837 by Bubnoff on Friday 12th of February 2010 10:14:31 PM
Old 02-12-2010
**** UPDATE ~ binlib points out an easier ( more correct ) way to quote the expression in the post following this one. ******

How do I hide quotes from sqsh and pass the SQL?

---------- Post updated at 06:58 PM ---------- Previous update was at 06:02 PM ----------

Solution ....finally.

Problem:
Protect quoted expression "%wsd%" from bashes prying eyes. sqsh must see it in quotes.

Answer:
Code:
SQL="SELECT second_id FROM borrower WHERE btype like '"'%wsd%'"'"

Victory is sweet. Now if I could just get out of this damn valentines banquet I get
conned into every year .....[SIGH]

Thanks ~

Bub

PS: sqsh rocks if you need to deal with Sybase or MS SQL server.

---------- Post updated at 07:14 PM ---------- Previous update was at 06:58 PM ----------

I've seen other SQSH users in this mess while Googling, so here's a tip for
passing queries to SQSH without resorting to external SQL scripts.

Define your query:
Code:
SQL="SELECT second_id FROM borrower WHERE btype like '"'%wsd%'"'"

Note carefully the quoting in the expression %wsd%. The expression is surrounded by single quoted double quotes: eg., '"'
while the whole query is surrounded by single quotes ...making
for a quote mess on the end ...eg., '"'" ( thats: single - double - single - double ).

***** EDIT ***** Please see the following two posts ...esp. from Binlib. You can quote the last expression with a single set of single quotes.
Thanks binlib! Tested and true.

Next, run that filthy query like so:
Code:
$SQSH="/usr/bin/sqsh"
$SERVER="server.whatever.org"
$USER="username"
$PASS="secrets"
$DB="nameOfDatabase"

$SQSH -S "$SERVER" -U "$USER" -P "$PASS" -D "$DB" -C "$SQL" > $OUT

You don't necessarily need all the variables, but it's a bit easier on
the eyes of those stuck reading it later. I usually define the sqsh
binary for cron, otherwise you'd likely have to define it for the
cron environment. Could be mistaken ...I always try to cron-proof
all but the most common commands. Easier than fixing every cron
environment path variables.

Later ...

Bub

***** UPDATED **** Please see following two posts for simpler quoting option.

Last edited by Bubnoff; 02-15-2010 at 02:43 AM.. Reason: Red herring: single quotes work. It was an issue in the way I declared sqsh. Damn I hate that!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Trouble grepping for multiple strings

I am having a heck of a time trying to write a script that will grep for multiple strings in a single file. I am really at my wits end here and I am hoping to get some feedback here. Basic information: OS: Solaris 9 Shell: KSH Oracle Database server I was trying to grep through a file... (5 Replies)
Discussion started by: thecoffeeguy
5 Replies

2. Shell Programming and Scripting

BASH quoting behavior

The block below isn't a surprise:$ ls file1 file2 file3 $ x=* $ echo $x file1 file2 file3 $ echo '$x' $x $ echo "$x" * $But I found this block a bit bewildering:$ echo $x' >' * $I'm wondering why substitution wasn't performed on the $x, since it was unquoted (as far as I can tell).... (5 Replies)
Discussion started by: na5m
5 Replies

3. Shell Programming and Scripting

Bash Script: Trouble unable to run

I am trying to create a menu, and the script fails on ln 38 (Files in pwd). Any idea on where the problem is?? Thanks for the help Rob #!/bin/bash # Cool Script for Weekly Assignment 2 (#3) that creates a menu to act as a ui # and run some popular commands. clear while : do ... (9 Replies)
Discussion started by: rchirico
9 Replies

4. Shell Programming and Scripting

bash: correct quoting with find and exiv2?

Hi, I need to embed a metatag to image files which contain qrcodes, i usually do this with exiv -M "set Exif.Image.DocumentName `zbarimg -q -Sdisable -Sqrcode.enable --raw image.tif`" image.tif which works fine. However I need to do this recursivly for whole directory and subdiretory... (4 Replies)
Discussion started by: mcframe
4 Replies

5. Shell Programming and Scripting

Find associated strings in a bash shell script

Hi together, unfortunately I am not a shell script guru - the following might touch the depths of awk, substr, split, regexps, where I am still fighting with - but as always the boss needs a fast solution :-( So: I have the following USER/PASSWORD-installation-config-file, from where I want to... (10 Replies)
Discussion started by: Sofie
10 Replies

6. Shell Programming and Scripting

Osascript quoting issue

I am at a loss on this one. I am trying to run this command on a bunch of (OS 10.7.4) macs:osascript -e "tell application \"System Events\" to return name of every process whose frontmost is true" On some, it works fine. On others, I get this error: I have also tried (note the single quotes):... (3 Replies)
Discussion started by: nextyoyoma
3 Replies

7. Shell Programming and Scripting

Having trouble with My Bash Script, need Help debugging

Hello Friends I am having trouble with my script below. I will describe the problems below the code box. I am hoping that some of the experts here can help me. #!/bin/bash #========================================================================================================= # Rsync File... (8 Replies)
Discussion started by: jdavis_33
8 Replies

8. Shell Programming and Scripting

Tricky BASH quoting question

I have some data files that I can identify by a certain pattern in the names using find. Every one of those data files has an XML file associated with it (can be multiple data files per XML file). The XML file is always up one directory from the data file(s) in a folder calledRun##### -... (12 Replies)
Discussion started by: Michael Stora
12 Replies

9. Homework & Coursework Questions

Linux/UNIX Bash Shell Script trouble help needed!!

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 2. Shell Bash Script 3. !/bin/bash if echo no directory then mkdir -p /home/AC_Drywall elif ; then echo "$dir already exist" fi (4 Replies)
Discussion started by: TomFord1
4 Replies

10. Shell Programming and Scripting

Help with Bash quoting

I am trying to write a BASH script that will prompt a user to enter a number of days, then calculate the date. My problem is the date command uses single or double quotes. For Example.. date -d "7 days" Here is an example of some same code I am trying to work through. echo "when do you... (4 Replies)
Discussion started by: javajockey
4 Replies
UPDATE(7)							   SQL Commands 							 UPDATE(7)

NAME
UPDATE - update rows of a table SYNOPSIS
UPDATE [ ONLY ] table SET col = expression [, ...] [ FROM fromlist ] [ WHERE condition ] INPUTS table The name (optionally schema-qualified) of an existing table. If ONLY is specified, only that table is updated. If ONLY is not speci- fied, the table and all its descendant tables (if any) are updated. * can be appended to the table name to indicate that descendant tables are to be scanned, but in the current version, this is the default behavior. (In releases before 7.1, ONLY was the default behavior.) The default can be altered by changing the SQL_INHERITANCE configuration option. column The name of a column in table. expression A valid expression or value to assign to column. fromlist A PostgreSQL non-standard extension to allow columns from other tables to appear in the WHERE condition. condition Refer to the SELECT statement for a further description of the WHERE clause. OUTPUTS UPDATE # Message returned if successful. The # means the number of rows updated. If # is 0 no rows are updated. DESCRIPTION
UPDATE changes the values of the columns specified for all rows which satisfy condition. Only the columns to be modified need appear as columns in the statement. Array references use the same syntax found in SELECT [select(7)]. That is, either single array elements, a range of array elements or the entire array may be replaced with a single query. You must have write access to the table in order to modify it, as well as read access to any table whose values are mentioned in the WHERE condition. By default UPDATE will update tuples in the table specified and all its sub-tables. If you wish to only update the specific table men- tioned, you should use the ONLY clause. USAGE
Change word Drama with Dramatic on column kind: UPDATE films SET kind = 'Dramatic' WHERE kind = 'Drama'; SELECT * FROM films WHERE kind = 'Dramatic' OR kind = 'Drama'; code | title | did | date_prod | kind | len -------+---------------+-----+------------+----------+------- BL101 | The Third Man | 101 | 1949-12-23 | Dramatic | 01:44 P_302 | Becket | 103 | 1964-02-03 | Dramatic | 02:28 M_401 | War and Peace | 104 | 1967-02-12 | Dramatic | 05:57 T_601 | Yojimbo | 106 | 1961-06-16 | Dramatic | 01:50 DA101 | Das Boot | 110 | 1981-11-11 | Dramatic | 02:29 COMPATIBILITY
SQL92 SQL92 defines a different syntax for the positioned UPDATE statement: UPDATE table SET column = expression [, ...] WHERE CURRENT OF cursor where cursor identifies an open cursor. SQL - Language Statements 2002-11-22 UPDATE(7)
All times are GMT -4. The time now is 08:45 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy