Sponsored Content
Top Forums Shell Programming and Scripting problem with echo inserting single quotes Post 302451587 by jelloir on Tuesday 7th of September 2010 09:47:36 AM
Old 09-07-2010
problem with echo inserting single quotes

Consider the following script:

Code:
#!/bin/bash

exclude='Archive PST,SystemState'

IFS=$","
rsyncExclusions=$(for exclude in ${exclude}; do echo -n -e --exclude=\"${exclude}\"\  ; done)
unset IFS

echo rsync $rsyncExclusions test
rsync -avh --delete --delete-excluded "$rsyncExclusions" /tmp/test1 /tmp/test2

When the script runs it fails to exclude the exclusions from $exclude. the output from bash shows that when it echoes the exclusions into the rsync line they appear to have single quotes around them which ruins rsync's interpretation of the excludes.

The echo of the variable appears fine.

Code:
$ bash -x /tmp/exclude 
+ exclude='Archive PST,SystemState'
+ IFS=,
++ for exclude in '${exclude}'
++ echo -n -e '--exclude="Archive PST" '
++ for exclude in '${exclude}'
++ echo -n -e '--exclude="SystemState" '
+ rsyncExclusions='--exclude="Archive PST" --exclude="SystemState" '
+ unset IFS
+ echo rsync '--exclude="Archive' 'PST"' '--exclude="SystemState"' test
rsync --exclude="Archive PST" --exclude="SystemState" test
+ rsync -avh --delete --delete-excluded '--exclude="Archive PST" --exclude="SystemState" ' /tmp/test1 /tmp/test2
sending incremental file list
test1/
test1/Archive PST/
test1/SystemState/

sent 98 bytes  received 24 bytes  244.00 bytes/sec
total size is 0  speedup is 0.00

How can I get the output of the exclusions to appear exactly how echoing the variable looks?
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

problem with single quotes in a string and findbug

I'm having trouble manipulating a string that contains single quotes (') in it. I'm writing a ksh script to parse in a few queries from a config file, such as this: findbug \(\(Project 'in' "Deployment,HDRCI,LHS,LSS,WUCI" '&&' Status 'in' "N" '&&' New_on 'lessthan' "070107" \)\) '&&' \(Class... (9 Replies)
Discussion started by: bob122480
9 Replies

2. Shell Programming and Scripting

echo using single quotes

Hi, Please help me to echo the following statement using single quotes Why can't I write 's between single quotes Thanks in advance, Chella (3 Replies)
Discussion started by: chella
3 Replies

3. Shell Programming and Scripting

Double quotes or single quotes when using ssh?

I'm not very familiar with the ssh command. When I tried to set a variable and then echo its value on a remote machine via ssh, I found a problem. For example, $ ITSME=itsme $ ssh xxx.xxxx.xxx.xxx "ITSME=itsyou; echo $ITSME" itsme $ ssh xxx.xxxx.xxx.xxx 'ITSME=itsyou; echo $ITSME' itsyou $... (3 Replies)
Discussion started by: password636
3 Replies

4. Shell Programming and Scripting

Problem renaming a file with single quotes

Hi, I am trying to create a script which validates the incoming source files. The script has File name Pattern as Argument. The First part of the script validates if there are any files available if then echo "\n Files are available to process \n" else echo "\n File does not... (9 Replies)
Discussion started by: dsshishya
9 Replies

5. UNIX for Dummies Questions & Answers

grep single quotes or double quotes

Unix superusers, I am new to unix but would like to learn more about grep. I am very familiar with regular expressions as i have used them for searching text files in windows based text editors. Since I am not very familiar with Unix, I dont understand when one should use GREP with the... (2 Replies)
Discussion started by: george_vandelet
2 Replies

6. Shell Programming and Scripting

Replace single quote with two single quotes in perl

Hi I want to replace single quote with two single quotes in a perl string. If the string is <It's Simpson's book> It should become <It''s Simpson''s book> (3 Replies)
Discussion started by: DushyantG
3 Replies

7. Shell Programming and Scripting

Having a terrible problem with quotes/single quotes!

Hello. I'm trying to write a bash script that uses GNU screen and have hit a brick wall that has cost me many hours... (I'm sure it has something to do with quoting/globbing, which is why I post it here) I can make a script that does the following just fine: test.sh: #!/bin/bash # make... (2 Replies)
Discussion started by: jondecker76
2 Replies

8. UNIX for Dummies Questions & Answers

awk for inserting a variable containing single and double quotes

Hi i have to insert the below line into a specific line number of another file export MBR_CNT_PRCP_TYPE_CODES_DEL="'01','02','04','05','49','55','UNK'" I have passed the above line to a variable say ins_line. I have used below command to perform the insert awk 'NR==3{print "'"${ins_line}"'"}1'... (1 Reply)
Discussion started by: sathishteradata
1 Replies

9. Shell Programming and Scripting

Unable to echo single quotes inside awk

# echo 'export HISTFILE=/var/log/history/history_$(uname -n)_$(date +%Y:%b:%d:%H:%M)_$(who am i | awk '{print \$1}')' >> new_file # # cat new_file export HISTFILE=/var/log/history/history_$(uname -n)_$(date +%Y:%b:%d:%H:%M)_$(who am i | awk {print $1}) # Now how to echo the quotes around the... (2 Replies)
Discussion started by: proactiveaditya
2 Replies

10. Shell Programming and Scripting

Issue with Single Quotes and Double Quotes for prompt PS1

Hi, Trying to change the prompt. I have the following code. export PS1=' <${USER}@`hostname -s`>$ ' The hostname is not displayed <abc@`hostname -s`>$ uname -a AIX xyz 1 6 00F736154C00 <adcwl4h@`hostname -s`>$ If I use double quotes, then the hostname is printed properly but... (3 Replies)
Discussion started by: bobbygsk
3 Replies
RoPkg::Simba::Exclude(3pm)				User Contributed Perl Documentation				RoPkg::Simba::Exclude(3pm)

NAME
RoPkg::Simba::Exclude VERSION
0.1.2 DESCRIPTION
RoPkg::Simba::Exclude is the class used by simba to manipulate a exclude list. It has the basic sql methods (inherited from RoPkg::DBObject). SYNOPSIS
!#/usr/bin/perl use RoPkg::DB; use RoPkg::Simba::Exclude; sub main { my $dbp = new RoPkg::DB(); $dbp->Add('dbi:mysql:database=mysql;host=localhost', 'root', '', 'local'); my $c = new RoPkg::Simba::Exclude(db => $dbp, db_method => 'db_local'); $c->id(1); $c->Load(); } main(); SUBROUTINES
/METHODS All methods (besides new) raise OutsideClass exception when called outside class instance. Also, some methods may rise diferent exceptions. Please read the section in which the method is described to find out more information about exceptions. new() The class constructor. At this moment, it just calls RoPkg::DBObject->new() . Please read the RoPkg::DBObject manual page for more information about the new() parameters. table() Returns the name of the exclude lists database table. ExList() get/set the excluded items. When set behaviour is selected, the exclude list must be passed to the method. The exclude list must be set before adding the new exclude list to database. AddItems(@new_items) Add @new_items to the list of excluded items and returns the new number of excluded items. GetItems() Returns the list of excluded items. In scalar context returns the number of excluded items The following methods are get/set methods for all fields of a mirror. *) id *) MirrorID *) CommandID Add() Adds the mirror to the database. This method is a wrapper for RoPkg::DBObject::SQL_Insert . On success 0 is returned. On error, DBI exception is raised. Delete() Deletes the current exclude list from the database. Before calling this method, you should set the id of the exclude list . If you don't set the id Param::Missing exception is raised. On database operation success, 0 is returned. On database error, DBI exception is raised. Update() Update the current exclude list object with the database. Before calling this method, you should set the id of the exclude list . If you don't set the id Param::Missing exception is raised. On database operation success, 0 is returned. On database error, DBI exception is raised. Load() Load the exclude list from the database, into the current object. Before calling this method you should have set id or MirrorID and CommandID. If none are found, then Param::Missing is raised. On database operation success 0 is returned. On database error, DBI exception is raised. DIAGNOSTICS
Unpack the source, and use 'make test' command CONFIGURATION AND ENVIRONMENT
This module does not use any configuration files or environment variables. DEPENDENCIES
RoPkg::DBObject and RoPkg::Exceptions INCOMPATIBILITIES
None known to the author BUGS AND LIMITATIONS
None known to the author PERL CRITIC
This module is perl critic level 2 compliant (with 1 exception) SEE ALSO
RoPkg::Simba::Excludes RoPkg::Exceptions RoPkg::Object AUTHOR
Subredu Manuel <diablo@iasi.roedu.net> LICENSE AND COPYRIGHT
Copyright (C) 2005 Subredu Manuel. All Rights Reserved. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The LICENSE file contains the full text of the license. perl v5.14.2 2006-07-04 RoPkg::Simba::Exclude(3pm)
All times are GMT -4. The time now is 08:04 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy