expect脚本中判断文件目录是否存在

文章讲述了在Expect脚本中如何正确判断系统目录是否存在。当使用-d命令时出现了错误,解决方案是改用test-d进行目录检查。如果目录不存在,则使用mkdir-p创建;如果存在,则删除目录下所有文件。这是一个关于Unix/Linux脚本编写的小技巧。

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

问题描述

在expect中,想判断系统中是否存在某个目录,如果不存在,则创建新目录,如果存在,则删除目录下的文件。结果按照常规写法,报错:

root@essup ~]# invalid command name “-d”
while executing "-d /etc/nginx/html "
invoked from within “send “if [ -d /etc/nginx/html ]; then rm -rf /etc/nginx/html/*; else mkdir -p /etc/nginx/html; fi\n””

解决方案

使用test进行判断,

#如果目录不存在,则创建该目录
send "test -d /etc/nginx/html ||  mkdir -p /etc/nginx/html\n"
expect $expChar

小方法,记之。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值