Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Bash - here document on RHEL 6.8 and 6.9 servers aren't working Post 303040563 by Chubler_XL on Thursday 31st of October 2019 04:01:05 PM
Old 10-31-2019
Quote:
Originally Posted by greavette
I've also tested connecting to a RHEL 6 server multiple times to get the data I need. what I mean by this is instead of connecting to a RHEL 6 server once and collecting data I've tested connecting to a RHEL 6 for each command I need so connecting multiple times and there are no issues with the above commands I'm issuing.
This is the crux of it I think. On the first look at your code I was suspicious that the redirect of stderr on one of the commands was causing you to miss an error causing this. So some nice debugging on you part here allows us to rule this out.

What does concern me is the exec bash line. This is unusual and I'm having trouble understanding how the commands that follow make it to this shell.
I think another here-document may be called for!

Please try:
Code:
IFS=$'\t' read FLAVOUR HOSTNAME ACTIVE_KERNEL INACTIVE_KERNEL UPTIME <<- EOFREAD
        $ssh -qo StrictHostKeyChecking=no -o ConnectTimeout=1 user@$InputIP sudo -u user sh -s <<- EOFSSH | tr $'\n' $'\t'
        exec bash <<- EOFEXEC
        cat /etc/redhat-release 2>/dev/null || lsb_release -a 2>/dev/null | grep Description | cut -f2
        awk -F= '/^NAME/{print $2}' /etc/os-release 2>/dev/null || grep Red |cat /etc/redhat-release 2>/dev/null || lsb_release -a 2>/dev/null | grep Description | cut -f2
        hostname
        uname -r
        rpm -qa | grep '^kernel-[0-9]' |grep -vE `uname -r` | paste -sd \; || echo "Can't List Ubuntu Kernels"
        uptime | cut -d "," -f1
        exit
        EOFEXEC
EOFSSH
        )
EOFREAD

[/QUOTE]
This User Gave Thanks to Chubler_XL For This Post:
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

here document not working

I tried doing ftp myhost <<HERE username password quit HERE but it doesnt work. Why? When I do ftp host, I always get prompted for username, and once I type that in I get prompted for password. But when I try doing it from here document it freezes. (2 Replies)
Discussion started by: JamesByars
2 Replies

2. Red Hat

Who can give me a document for configure nagios on RHEL 5

Who can give me a document for configure nagios on RHEL 5,thanks . (1 Reply)
Discussion started by: zhengsenlin
1 Replies

3. Red Hat

cfengine / puppet for rhel servers

Hello all, I am planning to deploy a configuration / auditing software package for about 100 new nodes that we are planning to install. I am hearing many good things in regards to cfengine and puppet. Can someone shed some light in regards to these solutions? Thanks, jaysunn (1 Reply)
Discussion started by: jaysunn
1 Replies

4. Shell Programming and Scripting

sudo inside a here document not working

Have a sudo statement inside of a here document. It prompts me for a password, but doesnt wait for me to enter my password. Is there a way I can use the command without sudo or anyway that I can enter the password correctly? Eg : while read remotehost do ssh -t $2@$remotehost <<REMOTE... (13 Replies)
Discussion started by: mnanavati
13 Replies

5. Shell Programming and Scripting

RHEL - Shell Script not working

Hello Unix Mates I have a problem my script is not working, can anyone tell what is rung with it? #!/bin/sh wget "http://download.divx.com/labs/divx611-20060201-gcc4.0.1.tar.gz" tar zxf divx611-20060201-gcc4.0.1.tar.gz ./divx611-20060201-gcc4.0.1/install.shError: -2010-11-28 21:25:06-- ... (1 Reply)
Discussion started by: camper
1 Replies

6. Red Hat

RHEL 6 plain telnet & ftp servers

I am being pushed from AIX onto RHEL 6 and after our first 'chuck it on' install, I have a problem. Where is the old (okay insecure) telnet & ftp server? I know that they are probably regarded as archaic now, but the source servers do not have the SSH tools, so I've got to somehow transfer the... (4 Replies)
Discussion started by: rbatte1
4 Replies

7. Red Hat

Network Teaming not working in RHEL/CentOS 7

I was testing Networking Teaming (activebackup) with a VM hosted on VmWare Workstation and VirtualBox, and the result is, if the active interface is down, the system is not using the backup interface. Tested on both CentOS / RHEL 7 Please find below the command I have used to configure teaming.... (0 Replies)
Discussion started by: atanubanerji
0 Replies

8. Red Hat

RHEL 7.1 autofs permissions do not match NFS servers

RHEL 7.1 client using autofs to mount a NIS map of home directories being exported by a Solaris 10x86 nfs server. The owner and group are correct on the NFS server, but on the RHEL client, the owner and group end up being nobody nobody. The USERS and GROUPS are NIS maps as well. They are... (2 Replies)
Discussion started by: mrmurdock
2 Replies

9. UNIX for Advanced & Expert Users

Syslog-ng not working not collecting logs on rhel

Hi, I need help on syslog-ng on RHEL 7.2. It is working as expected. As per configuration, it is supposed to create authlog, messages and xymessages daily in respective folder of date. But I can see only messages file and that is also not updating well. # ps -ef | grep -i syslog root 22954... (1 Reply)
Discussion started by: solaris_1977
1 Replies
SHELL-QUOTE(1p) 					User Contributed Perl Documentation					   SHELL-QUOTE(1p)

NAME
shell-quote - quote arguments for safe use, unmodified in a shell command SYNOPSIS
shell-quote [switch]... arg... DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands or files with embedded white space or shell globbing characters safely. Here are a few examples. EXAMPLES
ssh preserving args When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and passes them to "$SHELL -c". This doesn't work as intended: ssh host touch 'hi there' # fails It creates 2 files, hi and there. Instead, do this: cmd=`shell-quote touch 'hi there'` ssh host "$cmd" This gives you just 1 file, hi there. process find output It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote: eval set -- `find -type f -print0 | xargs -0 shell-quote --` debug shell scripts shell-quote is better than echo for debugging shell scripts. debug() { [ -z "$debug" ] || shell-quote "debug:" "$@" } With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can. save a command for later shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are things the user can't pass through), you can do something like this: user_switches= while [ $# != 0 ] do case x$1 in x--pass-through) [ $# -gt 1 ] || die "need an argument for $1" user_switches="$user_switches "`shell-quote -- "$2"` shift;; # process other switches esac shift done # later eval "shell-quote some-command $user_switches my args" OPTIONS
--debug Turn debugging on. --help Show the usage message and die. --version Show the version number and exit. AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions. AUTHOR
Roderick Schertler <roderick@argon.org> perl v5.8.4 2005-05-03 SHELL-QUOTE(1p)
All times are GMT -4. The time now is 06:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy