目的是通过调用shell脚本用expect从a节点自动登陆到b节点,然后验证b节点上的某个目录的ok文件是否到达,如果没有就进行睡眠一段时间后再次验证直到扫描5次没有文件,或者扫描到文件后exit 0,想通过每天的调度来跑shell脚本进行检查。
现在写了一段实在不知道怎么获取find这个命令结果然后在后面进行shell脚本的if then ,平时用shell不是很熟练,希望大家帮忙看看,
#!/bin/bash
file_pwd='/bigdata/data/20190902'
usr/bin/expect <<-EOF
set timeout 5
spawn ssh $1@$2
expect {
"(yes/no)?" {send "yes\n"}
"password:"{send"hadoop\n"}
eof}
send "find ${file_pwd}|awk -F '.' '{print $2}' "
expect eof
interact
EOF
现在写了一段实在不知道怎么获取find这个命令结果然后在后面进行shell脚本的if then ,平时用shell不是很熟练,希望大家帮忙看看,
#!/bin/bash
file_pwd='/bigdata/data/20190902'
usr/bin/expect <<-EOF
set timeout 5
spawn ssh $1@$2
expect {
"(yes/no)?" {send "yes\n"}
"password:"{send"hadoop\n"}
eof}
send "find ${file_pwd}|awk -F '.' '{print $2}' "
expect eof
interact
EOF
解决方案 »
- 在centos下编译openjdk源码,make出现错误
- [PRO*C] 在proc里用分析函数遇到的预处理问题,请指教
- ubuntu17.10 sudo dpkg --configure -a
- 如何将win10系统删除只安装ubuntu系统?即电脑上只有Ubuntu系统。
- linux中/usr/include下的头文件到底有什么作用?源码安装后的软件的头文件也要放在下面吗?
- 学习操作系统时的问题
- RK3288+RTL8201F-VB-CG网卡芯片,kernel3.10配置问题?
- vbox下打开ubuntu
- 求大神教一下怎么解决,一直报错
- Linux下tomcat项目启动报错
- openldap服务里objectClass和Attribute
- 为什么命令行或者直接修改root文件可以运行定时任务,通过php网页修改root文件却不行
#!/bin/bashfunction() {
file_pwd='/bigdata/data/20190902'
usr/bin/expect << EOF
set timeout 5
spawn ssh $1@$2
expect {
"(yes/no)?" {send "yes\n"}
"password:"{send"hadoop\n"}
expect "root@"
send "ls test.txt > /dev/null && echo 0 || echo 1"
send "exit\r"
EOF
}
status=`function | *****`类似这样,function这个函数会有一些输出,通过处理,把echo的字符串,过滤出来,赋值给一个变量status,然后再去判断,再在后面加一些操作
取结果就是status=`function | *****`
执行这个函数,然后管道进行处理
ls test.txt > /dev/null && echo 0 || echo 1 应该不会都是输出0,有test.txt这个文件 则echo 0 ,否则输出1,这句你随便找个机器就可以测试