有没有一种方法,可以在看到特定输出时执行if语句?例如,当控制台显示“bad interpreter permission denied”时,我想执行类似“dos2unix file_name”的命令?
因此,逻辑将如下所示:
if (output is "bad interpreter permission denied")
{
send dos2unix file_name
}
fi
这是一份expect脚本。
编辑:
我能在expect脚本中做这样的事情吗?
if (grep -cim1 '^M$' lruload.sh) -eq 1; then
send dos2unix filename
fi
expect
答案,您可能还应添加tcl
标志,因为 expect 脚本是以 TCL 为本地编写的。 - Charles Duffydos2unix
!如果文件已经使用UNIX换行符,这不会有任何影响,并且减少了涉及条件逻辑的数量。为了找到更好的解决方案,我需要了解有关导致文件以其所在格式存在于系统中的工作流程的更多信息;可能可以在SCM配置、文件传输设置或其他地方进行调整。 - Charles Duffy