gpt4 book ai didi

linux - 期望命令中的文件存在

转载 作者:太空宇宙 更新时间:2023-11-04 11:11:09 25 4
gpt4 key购买 nike

我是使用“expect”命令的新手,我的要求是创建一个 expect 脚本来检查文件是否存在于特定位置。

我使用的脚本是

#!/usr/bin/expect 
set PATH .ssh
set fname id_rsa
set timeout 2
spawn -noecho ls $PATH
expect { "id_rsa" { puts "found" }
timeout { puts "not found" } }

但是这个脚本不起作用。是否有任何方法可用于此要求,如 File.Exists ($fname) ?我需要根据文件是否存在来决定下一步行动。就像如果文件退出,则什么也不做,否则创建一个 rsa key 对,但停留在这一点上。

如有任何帮助,我们将不胜感激。

谢谢

最佳答案

在 Tcl/期望中:

if {[file exists [file join $PATH id_rsa]]} {
puts found
} else {
puts "not found"
}

此外,您的 PATH 变量取决于您的当前目录。你应该使用

set PATH [file join $env(HOME) .ssh]

此外,在编写 shell 脚本时,切勿使用变量 PATH -- 如果您重新定义 PATH,您将无法找到任何程序。通常,不要使用 ALL_CAPS_VARNAMES,将它们留给系统使用。

关于linux - 期望命令中的文件存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23129182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com