Sponsored Content
Full Discussion: backslash issues
Top Forums UNIX for Dummies Questions & Answers backslash issues Post 53224 by Bab00shka on Thursday 8th of July 2004 11:53:31 AM
Old 07-08-2004
backslash issues

Hi,

I have a script which looks through an input file and takes data from the file to use within the script.

Everything works fine until the script reads the item \windows\directory\structure\ from the input file into a variable.

As unix sees the backslash as an escape character, the variable, when echoed shows windowsdirectorystructure when the literal \windows\directory\structure\ is required.

I tried excaping the escape characters in the input file so that the variable included them, ie putting \\windows\\directory\\structure\\ into the input file. This came back with the same incorrect result too. I also tried \\\windows\\\directory\\\structure\\\ just in case the shell interpreted the variable another time but this showed the same result too.

I also tried using '\windows\directory\structure\' including single quotes in the input file but the variable literally is '\windows\directory\structure\' including single quotes.

If I try assigning the variable on the command line rather than from within the script, I get the desired result. ie

var='\windows\directory\structure\'
echo $var
\windows\directory\structure\

Does anyone have any advice on how I can get the variable in the script to equal \windows\directory\structure\ ?

Many thanks
Helen
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Backslash in find command

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)
Discussion started by: findprakash
1 Replies

2. UNIX for Dummies Questions & Answers

Escaping backslash

I have a variable containt something like this, c:\mask\mask. How can I escape "\" in the values? I want the value as it it. (9 Replies)
Discussion started by: swmk
9 Replies

3. Shell Programming and Scripting

double backslash in ksh

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)
Discussion started by: prvnrk
4 Replies

4. Shell Programming and Scripting

How to use backslash and variables in sed

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)
Discussion started by: Tubbie
3 Replies

5. UNIX for Dummies Questions & Answers

./configure backslash questions

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)
Discussion started by: RobertSubnet
6 Replies

6. Shell Programming and Scripting

Echo backslash

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)
Discussion started by: locoroco
2 Replies

7. UNIX for Dummies Questions & Answers

Weird behavior of backslash, please help!!

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)
Discussion started by: nixhead
3 Replies

8. UNIX for Advanced & Expert Users

grep for a backslash question

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)
Discussion started by: cokedude
7 Replies

9. Shell Programming and Scripting

[Solved] Disappearing backslash

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)
Discussion started by: exm
4 Replies

10. Shell Programming and Scripting

Not to Escape Backslash in script

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
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)
All times are GMT -4. The time now is 03:23 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy