while read中使用ssh命令的注意事项
2014-05-27 09:54
288 查看
参考链接
/article/4335651.html
我的一脚本内容如下
#!/bin/bash
cat $PWD/tmp/scene.txt | while read host port dstdir
do
echo $host $port $dstdir
scp runSceneServer.sh $host:$dstdir
##下面这个ssh这一行不加-n参数 就只执行了scene.txt这个文件的第一行内容 加上去就正常了
ssh -n $host "cd $dstdir;sh runSceneServer.sh $port scene.jar"
done
原因:
while中使用重定向机制,输入信息在循环开始就已经读入并重定向给了整个while语句,当readd读完一行后,接着执行的ssh命令时,ssh正好也会读取sdin的内容,所以就把剩下的输入一并读走了。
解决:
用ssh -n选项(Redirects stdin from /dev/null (actually, prevents reading from stdin).)
或者直接显示的使用 ssh localhost </dev/null
/article/4335651.html
我的一脚本内容如下
#!/bin/bash
cat $PWD/tmp/scene.txt | while read host port dstdir
do
echo $host $port $dstdir
scp runSceneServer.sh $host:$dstdir
##下面这个ssh这一行不加-n参数 就只执行了scene.txt这个文件的第一行内容 加上去就正常了
ssh -n $host "cd $dstdir;sh runSceneServer.sh $port scene.jar"
done
原因:
while中使用重定向机制,输入信息在循环开始就已经读入并重定向给了整个while语句,当readd读完一行后,接着执行的ssh命令时,ssh正好也会读取sdin的内容,所以就把剩下的输入一并读走了。
解决:
用ssh -n选项(Redirects stdin from /dev/null (actually, prevents reading from stdin).)
或者直接显示的使用 ssh localhost </dev/null
相关文章推荐
- 交换机使用中,复制命令要注意的事项
- 模块-内核模块加载命令modprobe使用注意事项
- 使用ssh密钥的方式连接linux服务器的注意事项
- JNI中javah命令的使用,生成.h的头文件的注意事项
- Docker 常用命令整理及使用注意事项总结
- linux下使用ssh管理VPS的注意事项小结
- shell中while循环里使用ssh的注意事项
- centos 使用网络管理命令注意事项
- ssh无密码登录远程主机执行特定命令的注意事项
- RedisTemplate SCAN 命令的使用和注意事项
- 常用sql命令@oracle数据类型概括@权限、角色、用户的创建于使用@伪列及其注意事项
- Android 抓包的一些命令 及 adb使用的一些注意事项
- 使用nohup命令注意事项
- fsck命令使用详解及特别注意事项
- 使用静态库时需要注意的事项(gcc下程序调用静态库编译命令:主文件必须在静态库前面!)
- 常用sql命令@oracle数据类型概括@权限、角色、用户的创建于使用@伪列及其注意事项
- 使用MySQL MySqldump命令导出数据时的注意事项
- Linux任务调度进程crond命令的使用方法和注意事项
- RESET MASTER 和RESET SLAVE 命令的使用方法 注意事项
- zeromq 在ubuntu 下的编译命令,以及使用时的注意事项