![]() |
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.
|
|
google unix.com
|
|||||||
| Forums | Register | Forum Rules | Links | Albums | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts and shell scripting languages here. |
More UNIX and Linux Forum Topics You Might Find Helpful
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| double variable declaration | kotasateesh | Shell Programming and Scripting | 3 | 08-31-2007 05:29 AM |
| Escape Char for double quote | navik_pathak | Shell Programming and Scripting | 1 | 01-05-2007 02:34 PM |
| single or double quote in SED | asami | Shell Programming and Scripting | 2 | 07-17-2006 03:03 AM |
| Double Quotes within a variable | burton_1080 | Shell Programming and Scripting | 4 | 12-01-2005 01:44 PM |
| double variable substitution | asal_email2 | UNIX for Dummies Questions & Answers | 1 | 06-14-2005 12:35 AM |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
||||
|
Problem with double quote and string variable
Hello,
i have a file output.txt which contains a single line with a list of files with quotes : "file1.ext" "file2.ext" "file3.ext" In a shell script, I want to retrieve the line and use it as a variable in a command like : zip archive.zip $LIST I cant get it work. When I physically type the command zip archive.zip "file1.ext" "file2.ext" "file3.ext", it works just fine but when I try to use a string variable I get an error. Is there a proper way to do that? Thank you ! |
|
||||
|
When you type it on the command line, the double quotes are not passed to zip. If you are using a script (show it!) then if it is passing in the quotes so that zip sees them, stop doing that.
If you have control over the thing which generates the output file, make it use a less zany format. See how xargs does it; that's probably a good model for you. |
|
||||
|
Quote:
Post your current code (or just the relevant part) for more help. |
|
||||
|
Quote:
Code:
LIST=$(tail -1 $FILE) cvs log -N -r$rev1:$rev2 $LIST > changelog.txt Code:
"java/file1.java" "java/file2.java" "java/file3.java" "java/file4.java" "java/file5.java" Code:
java/file1.java java/file2.java java/file3.java java/file4.java java/file5.java So maybe I should just work on my xsl stylesheet in order to escape whitespaces in filenames? |
|
||||
|
Or if you have the option, make it one file per line (and worry about file names with newlines in them instead ...).
xargs has an option to use a null (ASCII 0x00) terminator for that particular case. (Nulls and slashes are the only two characters which are disallowed in directory entry names.) |
|
||||
|
Problem with double quote and string variable
Here is a quick fix for your script
LIST=$(tail -1 $FILE) cvs log -N -r$rev1:$rev2 $(eval $LIST) > changelog.txt -Ramesh |
| Sponsored Links | ||
|
|
![]() |
| Bookmarks |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|