加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 使用set -o vi作为第一个交互式命令的ssh

发布时间:2020-12-15 22:14:50 所属栏目:安全 来源:网络整理
导读:我有一个用于登录服务器的小脚本.我换了钥匙. adminstirator设置的默认值为emacs.我有点沉迷于 vi键绑定.我无法以自己身份登录,我必须以群组用户身份登录. 大部分时间我做的第一件事就是输入set -o vi.我忘了并开始使用vi键绑定,但它们工作,然后我必须使用em
我有一个用于登录服务器的小脚本.我换了钥匙.
adminstirator设置的默认值为emacs.我有点沉迷于
vi键绑定.我无法以自己身份登录,我必须以群组用户身份登录.
大部分时间我做的第一件事就是输入set -o vi.我忘了并开始使用vi键绑定,但它们工作,然后我必须使用emacs键绑定.我的肌肉记忆搞砸了.当我使用登录脚本登录时,自动设置密钥绑定会很棒.

无论如何我试图将set命令添加到我的ssh脚本中.

这个不起作用.

#!/bin/bash
ssh -q -T bighost <<EOF
set -o vi
EOF
~

这个不起作用

#!/bin/bash
ssh bighost bash -c "'
set -o vi
'"

这让我ssh到主机,但vi没有设置为键绑定.

#!/bin/bash
ssh -t bighost "$(< set -o vi )"




corp_user@bighost:~$set -o
allexport       off
braceexpand     on
emacs           on
errexit         off
errtrace        off
functrace       off
hashall         on
histexpand      on
history         on
ignoreeof       off
interactive-comments    on
keyword         off
monitor         on
noclobber       off
noexec          off
noglob          off
nolog           off
notify          off
nounset         off
onecmd          off
physical        off
pipefail        off
posix           off
privileged      off
verbose         off
vi              off
xtrace          off
corp_user@big_host:~$

我甚至试过这样的事情:

ssh corp_user@bighost "$( < . ~/woogie)

woogie中有“set -o vi”.
可以这样做吗?

解决方法

这个脚本在我在这里使用时有效:

#!/bin/bash

ssh [host] -t bash -o vi

其中[host]应该是您要连接的主机. ssh的-t选项告诉ssh强制使用tty.如果你不这样做,bash将不会像普通的交互式shell那样运行.您正在寻找的选项是-o vi,这与您设置的相同. bash的手册页提到你可以在命令行中给出你设置的相同内容.

这不需要您在远程主机上创建任何文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读