Linux远程执行echo问题

先看一段代码

host="master slave1 slave2 slave3 slave4 slave5"

for i in $host

do

  ssh $i "echo $HOSTNAME‘

done

这是在master上执行的,最后打印出来全是master;这显然不是本意;

查了之后,说是当用双引号时,先解析$HOSTNAME,就是master了,要使其不先执行,用单引号,或者是把$转义了.

正常执行.

时间: 2024-10-11 16:57:03

Linux远程执行echo问题的相关文章

Linux远程执行shell命令

Linux远程执行shell命令 在Linux系统中,我们经常想在A机器上,执行B机器上的SHELL命令. 下面这种方案,是一种流行可靠的方案. 1.SSH无密码登录 # 本地服务器执行(A机器):生成密钥对 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa # 远程服务器执行(B机器):用公钥给远程机器授权,首先需要将本地公钥拷贝到远程服务器上,远程机器授权全后,可以删除公钥 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized

linux远程执行命令

经常要部署多台服务器上面的应用,如果一个个机器的登录太麻烦. 所有就想到编写一个脚本来部署不同的服务器 前提条件: 配置ssh免登陆 (1)命令行执行登录并且在目标服务器上执行命令 ssh [email protected] "cd /home ; ls" 基本能完成常用的对于远程节点的管理了,几个注意的点: 双引号,必须有.如果不加双引号,第二个ls命令在本地执行 分号,两个命令之间用分号隔开 (2)脚本的方式 这个正式我想要的方式,在目标服务器上执行批量的命令. #!/bin/ba

Linux远程执行Shell命令或脚本

## 远程执行shell命令 ssh [user]@[server] '[command]' # eg. ssh [email protected]192.168.1.1 'uptime' ## 远程执行本地shell脚本 ssh [user]@[server] 'bash -s' < [local_script] # eg. ssh [email protected]192.168.1.1 'bash -s' < local_script.sh

expect - linux远程执行命令

需要的文件:password   #远程主机的ip 密码文件expect        #执行远程登录,执行命令的脚本文件login.sh       #shell 脚步调用这两个文件执行操作 #!/bin/bash for i in $(awk '{print $1}' passwd.txt)              #for循环出主机ip信息 do p=$(awk -v I="$i" '{if(I==$1)print $2}' passwd.txt)  #取出对应ip主机的密码

linux 远程执行命令

命令: ssh 命令参数: -l 指定登入用户 -p 设置端口号 -f 后台运行,并推荐加上 -n 参数 -n 将标准输入重定向到 /dev/null,防止读取标准输入 -N 不执行远程命令,只做端口转发 -q 安静模式,忽略一切对话和错误提示 -T 禁用伪终端配置 DEMO: ssh -l xiluhua 192.168.178.133 "~/shell_script/1.sh"

面向 Java 开发与测试人员的远程执行 Linux/UNIX 系统上任务的框架 -- sshxcu

软件开发与测试人员常常会在远程 Linux/UNIX 系统上执行命令或脚本,有时还会有批量执行任务的需求.常见的办法是通过本地工具(例如 Putty)连接远程计算机,输入命令执行,但是当遇到需要集成这些任务到代码或者开发.测试框架中时,往往就没有很好的解决方案了.sshxcute 就是这样一个框架工具集,它基于 JSCH 构建,允许工程师利用 Java 代码通过 SSH 连接远程批量执行 Linux/UNIX 系统上的命令或者脚本,同时加入了判断成功与否,取回输出等多种实用功能.sshxcute

远程执行LINUX的GUI程序(X11程序)

1)本地是windows的: 首先,安装Xmind和Xming-fonts这2个软件,后者是字体插件 其次,使用远程登录软件,打开"X11转发功能"(X11 Forward) 最后,在字符窗口中直接运行命令,如firefox 2)本地是mac os的: 首先,安装XQuartz软件,图标居然和Xmind一样.因为是开源的,需要在"系统偏好设置"-"安全性和隐私"中设置"通用"页-"允许从以下位置下载的应用程序&quo

java应用程序远程登录linux并执行其命令(ssh jar包)

http://www.ganymed.ethz.ch/ssh2/在这个网址下载一个调用ssh和scp命令的jar包. 然后,就可以写程序了.将上面的jar包导入MyEclipse,下面是一个类的实例代码. package hh; import java.io.BufferedReader;     import java.io.IOException;     import java.io.InputStream;    import java.io.InputStreamReader; imp

JAVA实现远程SSH连接linux并执行命令

package com.codeconch.ssh; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import com.jcraft.jsch.ChannelExec; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException;