11-18-2013
Quote:
Originally Posted by
omonoiatis9
thank you i will try the -n option to see if it works.
i use the backticks because this way i tell the script if the command inside the backticks executes successfully then proceed. else if the command fails it doesnt get into the if statement.
That's nonsense. The exit status of the command between
if and
then is always tested - you don't need backticks for that.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have a PHP Script that works perfectly on a server that uses Sendmail. However I tried to port it to a new server that has the Postfix to Sendmail compatibility interface, and it doesn't work properly.
The php.ini file has the path for sendmail on both servers set to: /usr/sbin/sendmail -t... (0 Replies)
Discussion started by: boopfm523
0 Replies
2. Shell Programming and Scripting
How do you do an ssh on a for statement. I have done ssh on individula lines of code before with no problems.
#!/usr/bin/ksh
cat server_list.txt | while read line
do
ssh $line "for i in `lslpp -l |grep tsm`
do
lslpp -Lc $i |grep -v State |tr ':' ',' |awk -F, '{print $2, "," ,... (4 Replies)
Discussion started by: din
4 Replies
3. UNIX for Dummies Questions & Answers
Hi all,
I am facing an issue while trying to access a for loop variable inside ssh. Can anyone please help me with what this issue is, the following is the code that I have ->
IMPL_LOG_FOLDERS=(transaction_logs invalid_transaction_logs)
sshg3 ftp_id@boxname << EOS
for log_folder in... (5 Replies)
Discussion started by: anindyabecs
5 Replies
4. Shell Programming and Scripting
Here is the smallest extract to demonstrate the problem that I experience.
#!/bin/bash
r=$1
while read ip
do
if ] ;then
x=`ssh $ip echo "$ip"`
else
x=`echo "$ip"`
fi
echo $x
done << EOF
192.168.8.241
192.168.8.241
EOF
# Any IP with public key set (0 Replies)
Discussion started by: ivolvo
0 Replies
5. Shell Programming and Scripting
I need help on how to connect remote systems through ssh command in while loop of shell script. I was able to connect one remote system using ssh from shell script. Please find sample code snippet as given below…..
ssh "root@148.147.179.100" ARG1=$rpmFileName 'bash -s' <<'ENDSSH'
... (5 Replies)
Discussion started by: rajesh.tulluri
5 Replies
6. Shell Programming and Scripting
Hi All,
I've a csv file in which the record is getting break into 1 line or more than one line. I want to combine those splits into one line and remove the unwanted character existing in the record i.e. double quote symbol ("). The line gets break only when the record contains double... (4 Replies)
Discussion started by: rajak.net
4 Replies
7. Shell Programming and Scripting
I have a shell script, and its pretty much done, I decided to add a loop that ends or continues depending on user input. like "would you like to continue?" and if I hit y or yes it will run the loop again until I hit n or no and breaks out of the loop.
To be hones I didn't think I needed to add... (2 Replies)
Discussion started by: Demon_Jester
2 Replies
8. Shell Programming and Scripting
#!/bin/ksh
for SRV in imawasp01 \
imawasp02 \
imawasp03 \
imawasp04 \
imawasp05 \
imawasp06 \
imawasp07 \
imawasp08 \
imawasp09
do
print "${SRV}"
while read PASSLINE
do
SRVNAME=`echo ${PASSLINE} | awk -F\: '{print $1}'`
LASTLOGIN=`ssh ${SRV} lsuser ${SRVNAME} | tr '... (2 Replies)
Discussion started by: port43
2 Replies
9. UNIX for Dummies Questions & Answers
Hi All,
Need an urgent solution to an issue . We have created a ksh file or shell script which generates 1 DAT file. the DAT file contains extract of a select statement .
Now the issue is , when we are executing the ksh file , the output is coimng with page breaks and line breaks .
We have... (4 Replies)
Discussion started by: Ayaskant
4 Replies
10. Shell Programming and Scripting
I am trying to check multiple server's "uptime" in a loop over "ssh".
When I execute multiple ssh commands with hard coded servernames script is executing fine.
But when I pass server names using while loop, script is exiting after checking first server's status, why?
# serverList... (8 Replies)
Discussion started by: kchinnam
8 Replies
LEARN ABOUT CENTOS
perl::critic::policy::inputoutput::prohibitbacktickoperators
Perl::Critic::Policy::InputOutput::ProhibitBacktickOperaUser(Contributed Perl DocumPerl::Critic::Policy::InputOutput::ProhibitBacktickOperators(3)
NAME
Perl::Critic::Policy::InputOutput::ProhibitBacktickOperators - Discourage stuff like "@files = `ls $directory`".
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
Backticks are super-convenient, especially for CGI programs, but I find that they make a lot of noise by filling up STDERR with messages
when they fail. I think its better to use IPC::Open3 to trap all the output and let the application decide what to do with it.
use IPC::Open3 'open3';
$SIG{CHLD} = 'IGNORE';
@output = `some_command`; #not ok
my ($writer, $reader, $err);
open3($writer, $reader, $err, 'some_command'); #ok;
@output = <$reader>; #Output here
@errors = <$err>; #Errors here, instead of the console
CONFIGURATION
Alternatively, if you do want to use backticks, you can restrict checks to void contexts by adding the following to your .perlcriticrc
file:
[InputOutput::ProhibitBacktickOperators]
only_in_void_context = 1
The purpose of backticks is to capture the output of an external command. Use of them in a void context is likely a bug. If the output
isn't actually required, "system()" should be used. Otherwise assign the result to a variable.
`some_command`; #not ok
$output = `some_command`; #ok
@output = `some_command`; #ok
NOTES
This policy also prohibits the generalized form of backticks seen as "qx{}".
See perlipc for more discussion on using "wait()" instead of "$SIG{CHLD} = 'IGNORE'".
You might consider using the "capture()" function from the IPC::System::Simple module for a safer way of doing what backticks do,
especially on Windows. The module also has a safe wrapper around "system()".
AUTHOR
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
COPYRIGHT
Copyright (c) 2005-2011 Imaginative Software Systems. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license
can be found in the LICENSE file included with this module.
perl v5.16.3 2014-06-09 Perl::Critic::Policy::InputOutput::ProhibitBacktickOperators(3)