Linux shell脚本如何自动运行程序并输入命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux shell脚本如何自动运行程序并输入命令相关的知识,希望对你有一定的参考价值。
我想在linux平台上自动运行某一个App(与windows平台上功能一样)。
这个App打开后要输入一些自定义的参数,如i,就是登陆某一个服务器等等。
我在windows平台上用vbs写好了,可以运行,想请问下linux下如何编写shell脚本实现同样的功能呢?
请大虾指教。以下是windows上vbs代码:
'创建对象
set objShell = createobject("wscript.shell")
strCommandLine = "refapp.bat"
'运行程序
objShell.run(strCommandLine)
'睡眠2s,等程序打印完log
wscript.sleep 2000
'----login----------------------------------------
objShell.sendkeys "i" '登陆
wscript.sleep 500
objShell.sendkeys "ENTER" '输入
wscript.sleep 500
查看了下资料好像不行吧,能否给个小例子。呵呵
追答所谓计划任务就是按周期执行
比如
0 8 * * * /youshell.sh > /dev/null
表示每天8点执行一次
如果你仅仅需要执行一次,那么可以使用at
不行哦,我还需要输入。谢谢你
运行linux脚本,遇到要按回车键,怎么让它自动应答,继续运行脚本?
实现的方法和详细的操作步骤如下:
1、第一步,连接相应的linux主机,进入linux命令行状态,并等待输入shell命令,见下图,转到下面的步骤。
2、第二步,完成上述步骤后,在linux命令行中输入如下箭头所示的代码,见下图,转到下面的步骤。
3、第三步,完成上述步骤后,按“
Enter”键运行shell命令,将看到直接执行cp命令,而不提示用户手动判断替代,见下图。这样,就解决了这个问题了。
1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。
2、其次,在linux命令行中输入:cp -f word.txt /word.txt。
3、键盘按“回车键”运行shell指令,此时会看到cp命令直接执行不提示用户手动判断覆盖了。
参考技术B用echo "应答内容" | shell脚本
例如修改user用户密码:
#echo "123456\\n123456\\n" | passwd user
利用expect实现自动应答,也不难,你从网上搜一下
不行阿,我意思是运行脚本它要按回车才会继续下一步,能让它自动应答继续下一步吗?命令是ssh密钥对生成的时候要回车,
ssh-keygen -t rsa
可以让它自动应答?
刚才试了一下,echo的方法输入密钥不行,用expect吧,写了个例子给你:
expect <<EOFset timeout -1
spawn ssh-keygen -t rsa
expect "(/root/.ssh/id_rsa):"
send "\\r"
expect "(empty for no passphrase):"
send "\\r"
expect "again:"
send "\\r"
expect eof
EOF追问
出现这个,大神你把命令写出来吧,成功就采纳
上面我已经给你写好了脚本,你插在自己需要的地方就行了
本回答被提问者采纳 参考技术C 使用yes 命令yes | command or script
以上是关于Linux shell脚本如何自动运行程序并输入命令的主要内容,如果未能解决你的问题,请参考以下文章
linux中设计一个shell脚本程序可以接受命令行输入的参数执行相应的菜单命令