Sponsored Content
Top Forums Shell Programming and Scripting Issue handling single quoted argument in shell script. Post 303039334 by mohtashims on Tuesday 1st of October 2019 06:00:25 AM
Old 10-01-2019
Issue handling single quoted argument in shell script.

Below is my script that works fine and prints the desired output:

Code:
#!/bin/ksh
echo "$1" |
  while IFS= read -r dirpath
do
  echo "DIRR_PATH:$dirpath"
  install_dir=$install_dir" "$dirpath
done
echo "Desired Output:$install_dir"

Output:
Code:
./loopissue.sh "/tmp/scripts\\n/tmp/mrt\\n/tmp/exe"
DIRR_PATH:/tmp/scripts
DIRR_PATH:/tmp/mrt
DIRR_PATH:/tmp/exe
Desired Output:/tmp/scripts /tmp/mrt /tmp/exe

The problem is i'm not getting a clean way to seperate the arguments with a single white space as seen in the "desired output:" above when the parameters are passed in single qoutes like below:

Code:
./loopissue.sh '/tmp/scripts\\n/tmp/mrt\\n/tmp/exe'

I'm on Aix6.1 and ksh shell.

Can you please suggest how can I get similar output when the argument is passed in single quotes ?

I tried removing the single quotes using the below two approaches but that did not help.
Code:
sed "s/'//g"
tr -d"'"

In Summary: All \\n should be replaced by single white space and single quotes should be removed from the argument and stored in a variable.

Last edited by mohtashims; 10-01-2019 at 08:51 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

signal handling in shell script

Hi can any please tell me is it possible to catch the signal in a shell script like we do in C. if yes please give me some idea or a link. (4 Replies)
Discussion started by: Raom
4 Replies

2. Shell Programming and Scripting

Shell script file handling

Hi ! /bin/sh set logdir1 "logDir/local/logname" #write the filename into a file echo $logdir1 >> logname.txt how do i exec the above echo command (1 Reply)
Discussion started by: nathgopi214
1 Replies

3. Shell Programming and Scripting

Handling values with space while passing commandline argument from wrapper script in KSH

Hi there, I have a wapper script which passes the argument from command prompt to inner script.. It works fine as long as the argument containing single word. But when value contains multiple word with space, not working as expected. I tried my best, couldn't find the reason. Gurus, pls.... (2 Replies)
Discussion started by: kans
2 Replies

4. Shell Programming and Scripting

Issue with Error handling,not able to continue the script further

Hi, I am trying to write a script to cleanup files in a log directory .. cd log find Datk** -mtime +7 -exec rm -f {} \; 2> /dev/null Have used the above to clean up files in log directory more then 7 days older. The file can be something like ( auto-generate by some processes and... (2 Replies)
Discussion started by: nss280
2 Replies

5. Shell Programming and Scripting

Take quoted output from one script as quoted input for another script

Hi, I have a script output.sh which produces the following output (as an example): "abc def" "ghi jkl" This output should be handled from script input.sh as input and the quotes should be treated as variable delimiters but not as regular characters. input.sh (processing positional... (2 Replies)
Discussion started by: stresing
2 Replies

6. Shell Programming and Scripting

Help with Handling multiple argument in shell script

Hi i have written a shell script that takes only single ip address from the user and calculates its latency and reliability, can you please tell me that what should be done if i want that user should enter 100 or 1000 ip address (5 Replies)
Discussion started by: Preeti_17
5 Replies

7. Shell Programming and Scripting

Issue while executing C executable with argument in shell script

Hi All, I am new to this forum and also shell script :) My task is I have to read CSV file get the data from the file and use the data to call c executable with data as argument.And the output from c executable should be stored to new CSV file Please find below my code testfunction() {... (14 Replies)
Discussion started by: ravjot28
14 Replies

8. Shell Programming and Scripting

Make multiple lines into single quoted comma separated Linux

Hi, I want to change a file file1.txt: 1234 3456 2345 6789 3456 2333 4444 As, file2.txt in Linux: '1234','3456','2345','6789','3456','2333','4444' Could someone please help me. (Single liner sed, awk will be welcome!) (7 Replies)
Discussion started by: wiweq05
7 Replies

9. Shell Programming and Scripting

Replace double quotes with a single quote within a double quoted string

Hi Froum. I have tried in vain to find a solution for this problem - I'm trying to replace any double quotes within a quoted string with a single quote, leaving everything else as is. I have the following data: Before: ... (32 Replies)
Discussion started by: pchang
32 Replies

10. Shell Programming and Scripting

Shell Script Help..Renaming Quoted files removing the timestamp

Hi all, i am new to this forum, unix and shell scripting. I would really appreciate if you all can help me here.. I have files coming in the below format 'filename20513'13May06:03:45 filename are characters.. like 'ABDDUT20513'13May06:03:45 i need it to be renamed as... (17 Replies)
Discussion started by: khman
17 Replies
setmaillist(1)						      General Commands Manual						    setmaillist(1)

NAME
setmaillist - create a binary mailing list SYNOPSIS
setmaillist bin tmp DESCRIPTION
setmaillist reads a mailing list from its standard input. setmaillist writes the mailing list in a binary format to tmp; it then moves tmp to bin. tmp and bin must be on the same filesystem. If there is a problem creating tmp, setmaillist complains and leaves bin alone. The binary mailing list format is portable across machines. setmaillist always creates bin world-readable. MAILING LIST FORMAT
The mailing list read by setmaillist is a series of lines. NUL bytes are not allowed. If a line begins with a dot or slash, setmaillist takes the entire line as an include file name. If a line begins with an ampersand, setmaillist takes the rest of the line as a recipient address. If a line begins with a letter or num- ber, setmaillist takes the entire line as a recipient address. Each recipient address must include a fully qualified domain name. Recipi- ent addresses longer than 800 bytes are not allowed. setmaillist ignores blank lines and lines beginning with #. It also ignores spaces and tabs at the ends of lines. For example, god@heaven.af.mil djb@silverton.berkeley.edu is a mailing list with two addresses. SEE ALSO
setforward(1), newinclude(1), printmaillist(1) setmaillist(1)
All times are GMT -4. The time now is 07:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy