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的手册页提到你可以在命令行中给出你设置的相同内容. 这不需要您在远程主机上创建任何文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |