Change your input file to
It's those backslashes that are causing the problem, and need to be sed'ed - and we need to backslash escape the backslashes for each stage of evaluation - and then substitute the correct number of backslash escaped backslashes!
This nightmare only seems to rear it's ugly head under really old original Bourne shells. I've tested my original solution under bash and ksh and it works fine. The original bourne shell on HP-UX (/usr/old/bin/sh) shows this problem, and requires backslash-city as above.
When I run my script in debug mode I see that \ is not getting executed as part of command. It is being treated as escape character.
find ${DATABASE_PARAM_PATH} -mtime +${RETENTION_PERIOD} -exec rm -rf {} \;
Command execution output in debug mode :
find... (1 Reply)
Hi
I need the "\\hello" (without double quotes) to be written to a file.
echo "\\\\hello" >file is working under bash shell but not working under ksh shell (gives only one / in the output)
Please advise.
TIA
Prvn (4 Replies)
I have a line that contains backslashes in which I want sed to substitute text with variables.
The line;
\\s008\2033330user$
I want to change this in \\s008.ourschool.com\2033330user$
I now use this script:
USER=2033330user
sed 's/\\'"$USER"'/.ourschool.com\\'"$USER/"
This doesn't... (3 Replies)
Hello all. I am going to try my hand at compiling tarballs rather than installing packages.
I have a pretty good understanding of the process and have even compiled/installed Top from source.
But that was an easy install, I want to try something more complex using the various configure... (6 Replies)
If I echo "\\" I get a backslash returned
~$ echo "\\"
\
Why doesn't this work:
string=`echo "\\"`
echo $string
I get the error message:
bash: command substitution: line 1: unexpected EOF while looking for matching `"'
bash: command substitution: line 2: syntax error: unexpected end... (2 Replies)
Hi I am getting absurd behavior of escape character in echos as followed:oinlcso003{arsadm} #: echo "\as shdd"
\as shdd
oinlcso003{arsadm} #: echo "Well, isn't that \"special\"?"
Well, isn't that "special"?
oinlcso003{arsadm} #: echo "Well, isn't that \special\?"
Well, isn't that \special\?... (3 Replies)
Why does this work when grepping for a backslash?
grep '\\' .bash_history
grep "" .bash_historyWhy does this not work when grepping for a backslash?
grep "\\" .bash_historyI know this works works but just don't understand why I need 4 backslashes when using double quotes.
grep "\\\\"... (7 Replies)
Let's say I have a text file called process.out that contains:
cn=long\, ann,cn=users
cn=doe\, john,cn=users
I need to have the following appended in the beginning
ldapdelete -h $OIDHOST
So the final output looks like:
ldapdelete -h $OIDHOST "cn=long\, ann,cn=users"
ldapdelete -h... (4 Replies)
Hello Folks,
I am looking for a bash script which check the ftp server connection status and transfer success/failure also final stage is like if the transfer/connection failed, i should get an email.
First stage - checking for login success or not
#!/bin/bash
HOST='your.ftp.site'... (3 Replies)
Discussion started by: Thala
3 Replies
LEARN ABOUT X11R4
escape
escape(1) Mail Avenger 0.8.3 escape(1)NAME
escape - escape shell special characters in a string
SYNOPSIS
escape string
DESCRIPTION
escape prepends a "" character to all shell special characters in string, making it safe to compose a shell command with the result.
EXAMPLES
The following is a contrived example showing how one can unintentionally end up executing the contents of a string:
$ var='; echo gotcha!'
$ eval echo hi $var
hi
gotcha!
$
Using escape, one can avoid executing the contents of $var:
$ eval echo hi `escape "$var"`
hi ; echo gotcha!
$
A less contrived example is passing arguments to Mail Avenger bodytest commands containing possibly unsafe environment variables. For
example, you might write a hypothetical reject_bcc script to reject mail not explicitly addressed to the recipient:
#!/bin/sh
formail -x to -x cc -x resent-to -x resent-cc
| fgrep "$1" > /dev/null
&& exit 0
echo "<$1>.. address does not accept blind carbon copies"
exit 100
To invoke this script, passing it the recipient address as an argument, you would need to put the following in your Mail Avenger rcpt
script:
bodytest reject_bcc `escape "$RECIPIENT"`
SEE ALSO avenger(1),
The Mail Avenger home page: <http://www.mailavenger.org/>.
BUGS
escape is designed for the Bourne shell, which is what Mail Avenger scripts use. escape might or might not work with other shells.
AUTHOR
David Mazieres
Mail Avenger 0.8.3 2012-04-05 escape(1)