Exec command - different output


 
Thread Tools Search this Thread
Operating Systems Solaris Exec command - different output
# 1  
Old 07-15-2017
Exec command - different output

Hi Guys, I am trying to to execute the below script in two different machines
Code:
#!/bin/ksh
###############################################################################
# File : pause
###############################################################################
print "\nPlease Press \033[4m\033[0m to continue\c"
read answer

Its resulting the below output.
Code:
prem@host1:exec pause 2>> /tmp/prem.log
Please Press <Enter> to continue Connection to host1 closed.
prem@host1:
prem@host2:exec pause 2>> /tmp/prem.log
Please Press<Enter>  to continue
Connection to host2 closed.
prem@host2:

. When I execute the command in host1 its not waiting for input. Any idea friends? Thanks Prem


Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!
And, seriously, invest some care to structure the text legibly so people can read and understand it ad hoc!

Last edited by s_premkumar; 07-16-2017 at 10:23 PM.. Reason: Words missing. Line break not required.
# 2  
Old 07-15-2017
Is this Solaris? Are the two servers are of same *nix flavors?
# 3  
Old 07-15-2017
Quote:
Originally Posted by s_premkumar
Its resulting the below output.
Code:
prem@host1:exec pause 2>> /tmp/prem.log
Please Press  to continue
Connection to host1 closed.
prem@host1:
prem@host2:exec pause 2>> /tmp/prem.log
Please Press  to continue
Connection to host2 closed.
prem@host2:

. When I execute the command in host1 its not waiting for input. Any idea friends?
I can't tell you why it isn't waiting on host1, but i suppose it is simply not there (or not in the path, not flagged executable, ....). I can tell you, though, why your connection to the host is closed afterwards:

Normally, when you start a process B from another process A , A sets up B as its "child process": B will be started, executed and when it ends, its return value will be presented to A for evaluation.


With the command exec this changes: A, in fact, will start B in its own environment (the one of A) and the exit immediately so that B effectively replaces A. Because you replaces your login shell with the little script you wrote (which in turn ended) your connection was simply closed the same way it would have been if you had ended the login shell otherwise (like by pressing "CTRL-D", entering "exit", etc.).

I hope this helps.
bakunin
This User Gave Thanks to bakunin For This Post:
# 4  
Old 07-16-2017
Quote:
Originally Posted by PikK45
Is this Solaris? Are the two servers are of same *nix flavors?
Dear Friend,

Yes both are Solaris 10 servers with same OS/patch levels.

Thanks
Prem.

---------- Post updated at 08:45 PM ---------- Previous update was at 08:25 PM ----------

Hi Bakunin,

Thanks for your response. I am not worried about the connection drop.

When I hit enter to execute the command its resulting some like below.

Code:
prem@host1:exec pause 2>> /tmp/prem.log
Please Press <Enter> to continueConnection to host1 closed.

Is this something related to my input/keyboard settings?. I am expecting the program to wait for enter continue. However its reading the previous key press and exiting.

Thanks for your help.

Cheers,
Prem.

Moderator's Comments:
Mod Comment edit by bakunin: you have been told to use CODE-tags. Please pay heed to what you are told.

Last edited by bakunin; 07-17-2017 at 06:42 AM..
# 5  
Old 07-17-2017
Quote:
Originally Posted by s_premkumar
Is this something related to my input/keyboard settings?. I am expecting the program to wait for enter continue. However its reading the previous key press and exiting.
This might have something to do with your terminal settings. It is definitely NOT related to the exec command as the title suggests: the command doing the reading from the keyboard is the read.

read is a shell-builtin command and the difference in behavior might also come from different shell versions and similar differences. You might want to leave out the exec to investigate, so that you don't have to reconnect for every single attempt.

In general, though, i can't understand the reason why you are doing what you do at all. Could you please describe what you are trying to achieve - maybe there is a better/faster/more elegant way to achieve it anyways.

I hope this helps.

bakunin
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Linux find command seems to not transmit all the result to the '-exec command'

Hello. From a script, a command for a test is use : find /home/user_install -maxdepth 1 -type f -newer /tmp/000_skel_file_deb ! -newer /tmp/000_skel_file_end -name '.bashrc' -o -name '.profile' -o -name '.gtkrc-2.0' -o -name '.i18n' -o -name '.inputrc' Tha command... (3 Replies)
Discussion started by: jcdole
3 Replies

2. Shell Programming and Scripting

Several exec on find send all the output to the last redirection

Example script: find mydir -type f -exec echo {}>aaa \; -exec echo {}>bbb \;The two paths go the the bbb file, while there should be one of them on each file. How should I do it to get it working? (2 Replies)
Discussion started by: Tribe
2 Replies

3. Shell Programming and Scripting

exec command help

Hi, I have the following lines in a script : . . exec < some_file . . . I have very little idea about exec command. I would like to know what this does and what will happen if the file some_file does not exist. Specifically, I would like to know whether the lines following this... (5 Replies)
Discussion started by: elixir_sinari
5 Replies

4. UNIX for Dummies Questions & Answers

Exec command

Hi can some one explain the following command , It would really help if some can really elloborate on what is happening out here export PATH | exec /bin/sh ./auto_approve :q P.S: This is the first time i am using exec ,so an elloboration what does it do and what is the use of the :q will be... (1 Reply)
Discussion started by: Sri3001
1 Replies

5. Shell Programming and Scripting

Output redirection to exec does not work

Hello Experts, I am on Solaris 10 Due to some limitations in one of the vendor software, I am forced to output the command to exec and then run it from there. For example.. $(echo "/usr/bin/cp a.dat b.dat") # This works However, $(echo "/usr/bin/cat a.dat > c.dat") # This does not... (8 Replies)
Discussion started by: Gokul Kumar G
8 Replies

6. Shell Programming and Scripting

exec command

How can I use the exec command to log my korn shell session to the screen and the log file? Currently I have this command: $exec 1> ${LOG} 2>&1 This logs the output to the log file only. I want it to go to the screen also. Is this possible with this command? thanks. (10 Replies)
Discussion started by: djehresmann
10 Replies

7. Shell Programming and Scripting

Help! Paste Multiple SQL output result to exec command

Hi, I want to write the shell script to change multple file name (the file name is get from DB) e.g. cp db1.txt file1_new.txt cp db2.txt file2_new.txt cp db3.txt file3_new.txt I have write the script like this: VAR=`sqlplus -s $LOGON @<<ENDOFTEXT set termout off ... (0 Replies)
Discussion started by: jackyntk
0 Replies

8. Shell Programming and Scripting

exec command

can any one pls explain the meaning of exec 1<&5 ?? its urgent (2 Replies)
Discussion started by: santosh1234
2 Replies

9. Shell Programming and Scripting

Capturing the output from an exec command

Hi, I'm new to ksh - unix platform. I'm writing a small script which will search my current directory and will search for file names which it takes input from the users. Here is the code I'm having. 1 #!/bin/ksh 2 echo "enter a file name to be searched in the current dir : " 3 read... (1 Reply)
Discussion started by: avik
1 Replies

10. Shell Programming and Scripting

Hi How to redirect the output of exec

Hi Here i have a script a #!/usr/bin/env tclsh puts "Hello World!" set filename "./BesRun.sh" > out.txt exit I am trying to redirect the output of the "./BesRun.sh" to out.txt,but it is not happening can anyone let me know (2 Replies)
Discussion started by: nathgopi214
2 Replies
Login or Register to Ask a Question