通过脚本实现linux上安装的自动交互

本文介绍了一种使用expect脚本在Ubuntu环境下批量自动化安装与移除软件的方法,解决了安装过程中的人工确认问题,提高了效率。

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


需要在服务器上安装若干软件,一个个的去安装浪费时间,通过脚本安装时,安装过程中的[y/N]类似的询问,通过 -y --force-yes 又莫名奇妙的报错,没有完成全部安装。只能从自动响应交互来切入了,查了下看可以通过expect来实现。主要代码如下,运行环境为ubuntu,需要安装expect(apt-get install expect即可)



apt-get install expect   #安装expect   


#!/bin/bash
echo $1
cat $1 | while read line
do
if [ "$line" != "******" ];then
	echo ">>> Now install " $line
	/usr/bin/expect <<-EOF  #expect的路径
	spawn apt-get install $line
	expect "y/N" 
	send "y\n"
	  
	if [ $?  -eq 0 ];then
		continue
	else
		echo 'install is  ERR'
		break
	fi
	expect eof 	
	EOF
else
	echo ">>> Now Remove " $line
	/usr/bin/expect <<-EOF
	spawn apt-get remove $line
	expect "y/N" 
	send "y\n"
	if [ $?  -eq 0 ];then
		continue
	else
		echo 'Remove is ERR'
		break
    fi
	expect eof            
	EOF
	

fi   
done

如有问题欢迎指正!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值