How to escape Special Characters in Expect programming?
Hi,
I have written a unix expect utility "ssh-login.exp" which connects (ssh) to remote host and execute some shell script. I am calling this "ssh-login.exp" utility from another shell script.
"ssh-login.exp" takes username, password, host and shell script path to execute on remote host. All works fine for alphanumeric password. If password has any special characters like "$" this "ssh-login.exp" doesn't work. I have already added code to add escape character before any special characters password may have.
e.g. for password string "welcome$123" and I send "welcome\$123".
But the problem is, when expect utility "ssh-login.exp" sends password to remote host it prepends '{' and appends '}' to password string if password has any special characters. if password doesn't have any special characters then it sends password without '{' and '}' and works fine.
e.g. for password "welcome$123" expect program sends "{welcome\$123}", in fact it should send "welcome\$123" (without '{' and '}' ) and remote machine don't allow the entry because of wrong password.
So I am trying to find out a way to get rid of '{' and '}' from password string before sending it to remote host in case password has any special characters.
Here is my expect script : "ssh-login.exp":
Please let me know if someone has already faced this issue and were able to resolve the same.
Thanks,
Last edited by Mahesh Desai; 11-27-2012 at 01:36 PM..
I have an application which I am integrating with that accepts the password via a CLI. I am running in to issues with passwords that contain special characters. I tried to escape them all, but I ran in to an issue where I cannot escape the characters
'
]
My attempt is as follows:
$... (2 Replies)
Hi,
I am familiar with using a backslash to escape a $ in a send command, but this device I am using expect to talk to has a regex expression that I need to input and it is a bear. Is there a list of all the characters that require escaping in an expect send statement ? Here is what I need to... (0 Replies)
This is a bit off the wall, but I often need to run scripts where there are argument values that contain special characters.
For example,
$ ./process.exe -t M -N -o temp.mol.s -i ../molfiles/N,N\',N\'\'-trimethylbis\(hexamethylene\)triamine.mol && sfile_space_to_tab.sh temp.mol.s temp.s
It... (1 Reply)
Need help in escaping special characters in sed command.
Here is the the string which i am trying to find a replace with
From :- REQUEST_TYPE=PIXEL&MSG_ID={//MESSAGE_ID}
To :- REQUEST_TYPE=PIXEL&MSG_ID= X_EDELIVERY_MESSAGE_ID & BATCH_ID= X_EDELIVERY_BATCH_ID
Here is the sed command i am... (2 Replies)
Hello Everyone,
I need to read an encrypted password from the user and update that value in an xml file. I am trying to use "sed" for searching the appropriate tag and replacing this new value that get from the user. Since the encrypted password can contain special characters(like /,\,&,etc),... (4 Replies)
Hello all, I'm writing an expect script that will connect to an IMAP server and issue IMAP commands. The problem is that some of the text I need to send includes "quotes" and also !@#$%^&* special characters.
For example, my password is VFR$5tgb but I cannot "send" this because Expect doesn't... (2 Replies)
i need to replace the any special characters with escape characters like below.
test!=123-> test\!\=123
!@#$%^&*()-= to be replaced by
\!\@\#\$\%\^\&\*\(\)\-\= (8 Replies)
Hi, I wish to replace a new line with br (html) but it doesn't seem to work
message=$(echo ${FORM_message} | tr '\r' '<br \/>' )
what it gives me seems to be ... b...?
I am also having problem escaping hash sign in cut command:
list=$(echo "$line" | cut -d'\#;\#' -f1) ;
my intention is... (2 Replies)
I'm using awk '{print $1}' and it works most of the time to print the contents of a mysql query loop, but occationally I get a field with some special character in it, is there a way to tell awk to ignore all special characters between my FS? I have >186K records, so building a list of ALL special... (6 Replies)
Hi,
I would like to display the following message from my shell (Korn) script
Copy "old_file.txt" to "new_file.txt"
My code looks as follows
print "Copy "old_file.txt" to "new_file.txt""
However, when I execute the script, I get the following output
Copy old_file.txt to... (6 Replies)