Auto escape script to escape special chars in script args


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Auto escape script to escape special chars in script args
# 1  
Old 09-18-2013
Auto escape script to escape special chars in script args

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,
Code:
$ ./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 is tedious to manually escape everything and auto complete does not always solve this problem.

I was wondering if I could write a script and pass my entire command string to the script. I would keep the script in a path directory and the script would escape chars where necessary and then pass the string along to bash. The syntax could look like,

Code:
$ auto_escape ./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

I think I could do the substitutions in sed, but I'm not sure how to capture everything after auto_escape and pass that to sed.

A bigger issue is how to keep the notion of pwd in tact. The pwd locations of process.exe and auto_escape will be different, so when bash recieves the string from the auto_escape script, I'm not sure how I could get bash to properly interpret ./, ../ etc, in terms of the original script location.

Thanks for the advice,

LMHmedchem
# 2  
Old 09-18-2013
This is a misunderstanding of the problem... It is not process.exe that requires all this quoting, it's the shell that requires all this quoting. Feeding it into any other program would have the same problem.

However, the shell has an easy way to do this. May I suggest the much simpler facility of double quotes? The only things you will need to escape inside them are " ` $.

Code:
./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


Last edited by Corona688; 09-18-2013 at 03:29 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Shell script to split data with a delimiter having chars and special chars

Hi Team, I have a file a1.txt with data as follows. dfjakjf...asdfkasj</EnableQuotedIDs><SQL><SelectStatement modified='1' type='string'><! The delimiter string: <SelectStatement modified='1' type='string'><! dlm="<SelectStatement modified='1' type='string'><! The above command is... (7 Replies)
Discussion started by: kmanivan82
7 Replies

2. Shell Programming and Scripting

How to escape all special characters?

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

3. Shell Programming and Scripting

Escape chars not working

Hi, i'm working on Linux 2.6.9-55.EL #1 version. Unable to use escape chars like \n, \t, etc. They don't work whn embedded in shell script. Pls help. shell script: echo "Hello $USER" echo "Today is \n ";date output: Hello linux1 Today is \n Thu Jul 3 12:01:31 IST 2014 (2 Replies)
Discussion started by: sam_bd
2 Replies

4. UNIX for Advanced & Expert Users

Escape special character

My input is: jdbc:Oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.147.109.211)(PORT=1526))(CONNECT_DAT A=(SID= MWDBD22))) In the search pattern, ( and ) and . and @ are special RE, and need to be escaped \( and \) and \. and \@ how can i do it by script or command (9 Replies)
Discussion started by: arindam guha
9 Replies

5. Shell Programming and Scripting

Escape special character

Hi, How to use * in call to pl/sql block from shell script? The line "select * from" is causing all files and directiores to show up in email notification but if I give all column names then it works, Please let me know how to use '*' instead of giving all column names, in other wirds how to... (2 Replies)
Discussion started by: sandy162
2 Replies

6. Shell Programming and Scripting

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... (1 Reply)
Discussion started by: Mahesh Desai
1 Replies

7. Shell Programming and Scripting

Escape special characters in SED

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&amp;MSG_ID={//MESSAGE_ID} To :- REQUEST_TYPE=PIXEL&amp;MSG_ID= X_EDELIVERY_MESSAGE_ID &amp; BATCH_ID= X_EDELIVERY_BATCH_ID Here is the sed command i am... (2 Replies)
Discussion started by: aakishore
2 Replies

8. Shell Programming and Scripting

Need help with sed to escape special characters

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

9. Shell Programming and Scripting

awk print $1 escape all special characters

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

10. UNIX for Dummies Questions & Answers

Need help to escape special characters in Korn shell script

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)
Discussion started by: rogers42
6 Replies
Login or Register to Ask a Question