gpt4 book ai didi

linux - 在当前目录运行 expect 脚本

转载 作者:太空狗 更新时间:2023-10-29 11:37:52 26 4
gpt4 key购买 nike

我写了一个 sftp expect 脚本来上传和下载文件。

我把脚本文件放在一个文件夹里。并双击脚本运行脚本以登录远程服务器,但每次我的脚本都会在主文件夹中而不是脚本所在的文件夹中登录服务器。

#!/usr/bin/env expect
set login "username"
set addr "server.com"
set pw "mypassword"
set timeout -1
sleep 1
spawn sftp $login@$addr
expect "Password:" {send "$pw\r"}
sleep 1
interact

例如,我把这个脚本放在/Desktop 上,如果我想从我本地机器的/Desktop 上传一些文件到我的服务器,我仍然必须 cd 到/Desktop 然后运行这个脚本,如果我只是加倍单击以执行脚本,它将从 ~ 或/root 登录到我的服务器,无论默认目录是什么。我想从脚本所在的目录登录我的服务器。

有什么方法可以找到文件的位置?或者我需要执行搜索来找到文件?

最佳答案

你可能想要

cd [file dirname $argv0]

切换到脚本所在的目录。

关于linux - 在当前目录运行 expect 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22185922/

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