问题描述
在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
小方法,记之。

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

被折叠的 条评论
为什么被折叠?



