04-22-2020
man bash is your friend:
Quote:
Here Documents
This type of redirection instructs the shell to read input from the current source until a line containing only delimiter (with no trailing blanks)
is seen. All of the lines read up to that point are then used as the standard input (or file descriptor n if n is specified) for a command.
The format of here-documents is:
[n]<<[-]word
here-document
delimiter
No parameter and variable expansion, command substitution, arithmetic expansion, or pathname expansion is performed on word. If any part of word is quoted, the delimiter is the result of quote removal on word, and the lines in the here-document are not expanded. If word is unquoted, all lines of the here-document are subjected to parameter expansion, command substitution, and arithmetic expansion, the character sequence \<newline> is ignored, and \ must be used to quote the characters \, $, and `.
You are in a dilemma here: you want the
IP variable expanded locally, but the other variables expanded remotely. For the first, you can't have the "word" quoted, but it must be unquoted, so, for the second, you need to apply the escapes for the
$ signs.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I am trying to search and remove files from a list of servers. I want to find every occurence of this file on each machine and then remove it. If I execute the find command on the remote machine I would like to be able to pipe the output to xargs and remove the file. Does anyone know hat would be... (1 Reply)
Discussion started by: sewood
1 Replies
2. Shell Programming and Scripting
Hi All,
i have two machines like x and y . my requirement is i should connect to machine Y from x through ssh connection . and do some operation such as copy and move and delete files in Y machine .
i tried with this code but it is doing in machine x only . and i need to exit from Y when... (1 Reply)
Discussion started by: rateeshkumar
1 Replies
3. Shell Programming and Scripting
Hello to all
Background info:
Local machine : Linux, /bin/bash
Remote machine (for the user used for ssh) : SunOs, /bin/ksh
(so we have different OS, different Shells)
My problem :
From the local host i execute
$ var=bla
$ result=$(ssh -q user@remote-machine "
> echo \"this is... (12 Replies)
Discussion started by: black_fender
12 Replies
4. UNIX for Dummies Questions & Answers
how to use ssh to run shell script on a remote machine?
ssh user@remote sh ./script.unx
i ran the above command
./script.unx HAS NOHUP COMMAND IN ITS BODY, I AM GETTING ERROR AS NOHUP NOT FOUND...
i tried to run that script from remote server, its working fine
do ineed to set... (6 Replies)
Discussion started by: only4satish
6 Replies
5. Shell Programming and Scripting
Hello,
I am running into few issues, please suggest me what I am missing.
I am running this script on a linux host.
Main idea of this script is to, login to each host via ssh and get uid of user, service user that I trying to run this script, has already deployed ssh keys and provide sudo... (8 Replies)
Discussion started by: bobby320
8 Replies
6. Shell Programming and Scripting
Hi,
I'm trying to automate a couple of mounts. (I would do this in fstab, but the auto feature causes the virtual machine I'm running in to freeze when it boots up) If the machine I'm trying to connect to is OFF, I get the host unreachable error and then the bash script stops. The problem is... (3 Replies)
Discussion started by: jdilts
3 Replies
7. Red Hat
I want to SSH to 192.168.1.15 Server from my machine, my ip was 192.168.1.99
Source Destination was UP, with IP 192.168.1.15.
This is LAN Network there are 30 Machine's Connected to the network and working fine, I'm Playing around the local machine's because I need to apply the same rules in... (2 Replies)
Discussion started by: babinlonston
2 Replies
8. Linux
How to execute a script in remote machine through ssh
I have a script test.sh which does some backup activity in remote machine. Wanted to keep backup also in remote machine.
ssh -l username <remote machine> "commands to be exceuted as ; separted"
but how to put the script in the place of... (5 Replies)
Discussion started by: sanvel
5 Replies
9. Shell Programming and Scripting
Geeks,
Could you please help me out in my script and identify the missing piece. I need to check/get the exit status of a remote command executed on remote host through script and send out an email when process/processes is/are not running on any/all server(s).
Here's the complete... (5 Replies)
Discussion started by: lovesaikrishna
5 Replies
10. Shell Programming and Scripting
Hi,
My goal is to connect from unix server A to windows server B and call a bat file on windows.
I am able to succeed in remoting to windows and executing a command, the issue i am facing is the shell scrip is exiting without making sure of bat file success.
Can you please help me in... (4 Replies)
Discussion started by: pxp018
4 Replies
RECON(1) LAM TOOLS RECON(1)
NAME
recon - Check if LAM can be started.
SYNTAX
recon [-abdhv] [<bhost>]
OPTIONS
-a Report all host errors.
-b Assume local and remote shell are the same. This means that only one remote shell invocation is used to each node. If -b is not
used, two remote shell invocations are used to each node.
-d Turn on debugging.
-h Print the command help menu.
-v Be verbose.
DESCRIPTION
In order for LAM to be started on a remote UNIX machine, several requirements have to be fulfilled:
1) The machine must be reachable via the network.
2) The user must be able to remotely execute on the machine with the default remote shell program that was chosen when LAM was config-
ured. This is usually rsh(1), but any remote shell program is acceptable (such as ssh(1), etc.). Note that remote host permission
must be configured such that the remote shell program will not ask for a password when a command is invoked on remote host.
3) The remote user's shell must have a search path that will locate LAM executables.
4) The remote shell's startup file must not print anything to standard error when invoked non-interactively.
If any of these requirements is not met for any machine declared in <bhost>, LAM will not be able to start. By running recon first, the
user will be able to quickly identify and correct problems in the setup that would inhibit LAM from starting.
The local machine where recon is invoked must be one of the machines specified in <bhost>.
The <bhost> file is a LAM boot schema written in the host file syntax. See bhost(5). Instead of the command line, a boot schema can be
specified in the LAMBHOST environment variable. Otherwise a default file, bhost.def, is used. LAM seaches for <bhost> first in the local
directory and then in the installation directory under etc/.
recon tests each machine defined in <bhost> by attempting to execute on it the tkill(1) command using its "pretend" option (no action is
taken). This test, if successful, indicates that all the requirements listed above are met, and thus LAM can be started on the machine.
If the attempt is successful, the next machine is checked. In case the attempt fails, a descriptive error message is displayed and recon
stops unless the -a option is used, in which case recon continues checking the remaining machines.
If recon takes a long time to finish successfully, this will be a good indication to the user that the LAM system to be started has slow
communication links or heavily loaded machines, and it might be preferable to exclude or replace some of the machines in the system.
Remote shell invocation
Note that the default remote shell command can be overriden at invocation time with the LAMRSH environment variable. The LAMRSH environ-
ment variable can be set with a new command and optional command line arguments. For example, the 1.x series of ssh clients require the -x
flag to be specified to suppress standard ssh information from being sent to the standard error (which would cause recon to fail). For
example (for the C shell and its derrivates):
setenv LAMRSH "ssh -x"
Normally, recon uses two remote shell invocations to each node. The first remote shell invocation is used to determine the user's shell on
the remote node. The second remote shell invocation is used to launch the desired LAM binary on the remote node. If the -b switch is
used, recon will assume that the user's shell on all remote nodes is the same as it is on the local node, and therefore only one remote
shell invocation is used, which is noticably faster.
In either case, on remote nodes, if the user's shell is not csh, tcsh, or bash, .profile is invoked by LAM before invoking any LAM binary.
This allows the user to setup paths and any necessary environment before LAM binaries are invoked (csh and tcsh users can put such setup in
their $HOME/.cshrc or $HOME/.tcshrc files; bash users can put this setup in their $HOME/.bashrc file).
FILES
$LAMHOME/etc/lam-bhost.def default boot schema file
EXAMPLES
recon -v mynodes
Check if LAM can be started on all the UNIX machines described in the boot schema mynodes. Report about important steps as they are
done.
recon -v -a
Check if LAM can be started on all the UNIX machines described in the default boot schema. Report about important steps as they are
done. Check all the machines; do not stop after the first error message.
SEE ALSO
rsh(1), tkill(1), bhost(5), lamboot(1), wipe(1), lam-helpfile(5)
LAM 6.5.8 November, 2002 RECON(1)