How To Concatenate Two Commands in script using heredoc?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How To Concatenate Two Commands in script using heredoc?
# 1  
Old 01-15-2015
How To Concatenate Two Commands in script using heredoc?

Hello,

I am trying to place two commands in heredoc

below is the snippet
Code:
 if [ "$type" = "NP" ];then
                actionOnTux="$actVerb"
            else
                actionOnTux="$actVerb"
 fi
echo "Performing ACTION: $action on $tux@$srv .....\n"

                  if [ "$action" = "boot" ]; then
                        ssh -q $tux@$srv -n "1sftp >/dev/null 2>&1;~${tux}/scripts/inside_remote<<! 2>/dev/null
                        $actionOnTux

                        mq
!">${tuxFile} &


now what i want to do is based on value $type whether P or NP I want to concatenate an echo (precisely a newline character) with $actVerb, so that when $actionOnTux is executed i could get a single newline incase of NP and multiple newline in case of P

Last edited by Franklin52; 01-17-2015 at 04:50 PM.. Reason: Please use code tags
# 2  
Old 01-15-2015
Please use code tags as required by forum rules!

Not sure I understand what exactly you want to achieve, but adding <NL> chars to that variable will prevent you from executing its contents.
If you could explain your primary intention, we could help you find a solution.
# 3  
Old 01-15-2015
actually the logic is like , when we execute "inside_remote" file via ssh, it first displays two static page which we traverse by enter/newline twice, the comes the prompt, where the value stored in $actionOnTux will be placed and it will be executed

now for this condition
Code:
if [ "$type" = "NP" ];then
actionOnTux="$actVerb"
else
actionOnTux="$actVerb"
fi

when value is NP then only one newline/enter required, but when value is P then two newline/enter required

I am not getting the right syntax to place in
Code:
actionOnTux="$actVerb"

such that when $actionOnTux is called on remote connection it first does and enter/newline and then executed the command stored in variable $actVerb.

Below are the various options i tried
Code:
actionOnTux={echo ;$actVerb}
actionOnTux={echo \r;$actVerb}
actionOnTux="echo;$actVerb"

hope this explanations clears my jeopardy

Last edited by Franklin52; 01-17-2015 at 04:51 PM.. Reason: Please use code tags
# 4  
Old 01-15-2015
Its not a question of logic of what you want to do, its the question what you want to achieve.
What are you doing this for?

Use the code tags to post code, as you agreed on with the forum rules.
That button is labeld code and is even visible in Quick Reply.

Code:
if [[ CodeTags = set ]]
then    It helps to read the code
else    it mixes up identions
        and makes it otherwise hard to read and compare properly.
fi

# 5  
Old 01-15-2015
Code:
if [ "$type" = "NP" ];then
actionOnTux="$actVerb"
else
actionOnTux="$actVerb"
fi

 if [ "$action" = "boot" ]; then
                        ssh -q $tux@$srv -n "1sftp >/dev/null 2>&1;~${tux}/scripts/inside_remote<<! 2>/dev/null
                        $actionOnTux

                        mq
!">${tuxFile} &

I want the syntax using which I can achieve a newline before execution of $actionOnTux
# 6  
Old 01-15-2015
Why a here doc? Write your commands and the number of empty lines to a file and redirect stdin from there.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Information on heredoc

Hi , I am using ksh on Aix 7.1 and found the below code in a script which is a bit confusing to me, any help will be appreciated <<comments put ${pathforfiles}/${ftpfilename} put ${logs}/${filename}.sch put ${logs}/${filename}.tgr comments I have searched for information on heredoc but... (2 Replies)
Discussion started by: zulfi123786
2 Replies

2. Shell Programming and Scripting

Echo multi-line string via heredoc syntax

$ cat bashtest #!/usr/local/bin/bash echo <<<"EOF" line1 line2 line3 EOF $ ./bashtest ./bashtest: line 3: line1: command not found ./bashtest: line 4: line2: command not found ./bashtest: line 5: line3: command not found ./bashtest: line 6: EOF: command not found What am i doing... (4 Replies)
Discussion started by: urello
4 Replies

3. Shell Programming and Scripting

Calling sqlplus from Korn shell heredoc issue

Hi, I am facing an issue wherein some temporary files (here docs) are getting created in /tmp and are not getting deleted automatically. When i check the list of open files with below command i can see one file is getting appended continuously.(In this case /tmp/sfe7h.34p) The output is... (4 Replies)
Discussion started by: Navin_Ramdhami
4 Replies

4. Shell Programming and Scripting

Variables in heredoc

I currently use this message to send e-mails in a script but I would also like to save the output of this code to a file as well while preserving the variables. What's the easiest way to accomplish this? #Sending mail notification when=`/bin/date` /usr/sbin/sendmail -t >2 <<-EOM... (2 Replies)
Discussion started by: woodson2
2 Replies

5. UNIX for Advanced & Expert Users

Concatenate output in shell script

Hi Colleagues, I need the help in the followind. I execute this. select count(*) from schema.tablew the output is this. select count(*) from schema.table 3955 I need the followind output. select count(*) from schema.table 3955 Thank you for you help. (8 Replies)
Discussion started by: systemoper
8 Replies

6. Shell Programming and Scripting

heredoc error check

Hi, Is there any way to check the error in heredoc? Code: /export/opt/SCssh/3.7.1_C0/bin/sftp -B - csi@192.168.1.100 <<FTP lcd /WEBSERVER_LINK/data_logs/ ls pub/csidata/GeneralAppFields_8_1_Feed.out get pub/csidata/GeneralAppFields_8_1_Feed.out quit FTP Now I want to check... (1 Reply)
Discussion started by: bheeshmaraja
1 Replies

7. Shell Programming and Scripting

Problem in SFTP using heredoc

Hi, I'm having heredoc to get files from ftp server. #!/bin/bash /export/opt/SCssh/3.7.1_C0/bin/sftp csi@192.168.1.100 <<GET_FILES lcd /WEBSERVER_LINK/data_logs/ ls -l pub/csidata/GeneralAppFields_8_1_Feed.out pub/csidata/CtcCatalog_7_3_3_Feed.out get... (13 Replies)
Discussion started by: bheeshmaraja
13 Replies

8. Shell Programming and Scripting

HEREDOC with fdisk

Hi folks What I'm trying is to build a partitioning script. I can pass a HEREDOC to fdisk just fine. Like this: fdisk /dev/sda << EOF p q EOF but I don't know how to put that HEREDOC into a varible to pass it to fdisk. This is what I have tried so far (no luck) #!/bin/bash ... (3 Replies)
Discussion started by: latenite
3 Replies

9. Shell Programming and Scripting

Script to concatenate several files

I need a script to concatenate several files in one step, I have 3 header files say file.S, file.X and file.R, I need to concatenate these 3 header files to data files, say file1.S, file1.R, file1.X so that the header file "file.S" will be concatenated to all data files with .S extentions and so on... (3 Replies)
Discussion started by: docaia
3 Replies

10. Shell Programming and Scripting

Help with a shell script to concatenate lists together

Below is a description of what im trying to achieve: Write a shell script to concatenate lists together, and output the resulting list. Do not include any argument that is a sub-list of the entire list. (The script will clean the list of any redundant items.) You must preserve the original order... (1 Reply)
Discussion started by: rfourn
1 Replies
Login or Register to Ask a Question