有熟悉 iTerm2 的朋友吗,怎么能获取到变量 profile.name 呢

2022-12-08 23:55:12 +08:00
 as9567585

怎么能获取到${profile.name}呢?

有一个脚本需要用到

写了一个脚本可以,自动打开远程文件,自动同步。

这样就用不手动 scp ,或者打开其他 sftp 工具了。只要

./sedit.py user@host:/path/file.ext

或者自定义编辑器

./sedit.py user@host:/path/file.ext [code/subl/...]

希望可以直接右键编辑

因为我的 profile.name 都是配置的和.ssh/config 里的 Host 是一样的,密钥也是配置好的。 所以只要拿到 profile.name 就可以配合之前的脚本直接编辑了。

1059 次点击
所在节点    程序员
7 条回复
1423
2022-12-08 23:58:25 +08:00
env ITERM_PROFILE
我是如何知道的? env 看到了
as9567585
2022-12-09 00:10:50 +08:00
@1423 囧,还是不会用,再帮忙看看呗,这里要怎么写呢? 我这样写还是获取不到
as9567585
2022-12-09 00:18:31 +08:00
@1423 本地终端可以打印出来,ssh 到远程就打印不出来了,还是不是知道 Parameter 里怎么写可以获取到
1423
2022-12-09 00:58:06 +08:00
@as9567585 我想你应该考虑的是 iTerm2 的 Run Command 的执行机制,iTerm2 传递了哪些 env 给新环境。
试一下就发现,ITERM_PROFILE 不在其中
as9567585
2022-12-09 02:53:15 +08:00
@1423 😂 有啥办法吗
Kobayashi
2022-12-09 05:08:14 +08:00
处于安全考虑,ssh 服务端对传递的环境变量有限制。man sshd_config, AcceptEnv.

某些 distro 开了个口子,默认额外允许接收 LC_ 前缀环境变量。如果你修改不了 sshd 服务端配置,可以试着走这个方案。
as9567585
2022-12-09 12:55:35 +08:00
@Kobayashi 必须通过服务端吗?能不能直接通过 iTerm 获取这个变量,毕竟这也是在 iTerm 的 context 中

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/901215

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX