让Shell脚本自动执行的方法

本文介绍三种Shell脚本中实现输入重定向的方法:重定向方法、管道方式及使用expect命令。重定向方法通过<<设置分隔符来实现;管道方式结合echo、sleep等命令;expect命令则适用于复杂的交互式场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

重定向方法

当shell看到<<时,会知道下一个词是分隔符,在该分隔符后面内容都被当作输入,直到shell再次看到该分隔符(位于单独一行上的)。
#!/bin/bash
gdb << EOF
   help
   quit
EOF

管道方式

echo、sleep命令和管道操作符(|)的组合。
#!/bin/bash
(echo ‘root’;sleep 1; echo ‘root’) | passwd
   修改root用户的密码,利用管道把密码参数传递给passwd命令。

命令方式

使用expect命令,它专门用于交互式命令,功能强大,但是必须先安装工具包。
    网址:http://expect.sourceforge.net/
#!/usr/bin/expect
spawn ssh root@192.168.10.110
expect “password:”
send “root\n”
expect eof
send “ls\n”
expect eof
send “exit\n”
expect eof
exit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值