我有一个经常进入的主机ssh
。但我不想一次又一次地进入它。我应该为此使用环境变量吗?或者有更好的方法吗?
我不会介意使用一个通用的解决方案来保存单个 bash 会话之外存在的常用变量。
答案1
环境变量用于将信息传达给你在 shell 中启动的多个命令/进程,这些命令或进程预计存在于环境中。通常此类变量包括选项,例如LESS
将常用选项传递给less
分页器的变量,PERL5LIB
用于在非标准位置查找 perl 模块,LC_LANG
用于传达命令应使用哪种语言进行输出。
如果该 URL 是供您自己使用的特定命令,请使用别名alias au='firefox https://askubuntu.com
或函数来open_url(){ firefox "$@" }
打开您在命令行上提供的任意 URL 作为函数的位置参数。
在某些情况下ssh
,您可以在配置文件中定义连接属性,如Lekensteyn 的回答:
定义
~/.ssh/config
文件,内容如下Host meh HostName meh.example.com User admin Port 1234 IdentityFile ~/.ssh/id_rsa
使用
ssh meh
配置文件连接到主机。
答案2
我还建议创建一个别名。
编辑主目录中的.bashrc
(或类似文件)。添加几个别名,例如:.profile
alias go='ssh url1'
alias go2='ssh url2'
然后,重新登录/重新连接并输入go
或go2
。
答案3
首先创建主机条目ssh
:
定义~/.ssh/config
文件,内容如下
Host meh
HostName meh.example.com
User admin
Port 1234
IdentityFile ~/.ssh/id_rsa
现在ssh meh
可以使用了,但可能还是很长。有自动完成功能(在ssh
[Blank] 之后),但输入的内容仍然很多。
因此我们还定义一个alias
:
编辑.bashrc
本地主目录。添加别名,例如:
alias meh='ssh meh'
现在,您只需meh
在终端窗口中输入“meh.example.com”即可连接到它。如果您想使用更长的字符串而不是“meh”,实际上可以使用 [Tab] 键自动完成。
或者如果你真的偷懒,就定义一个字符作为别名吧:
alias m='ssh meh'
因此,如果你输入米然后按 Enter/Return,您的 ssh 连接将立即启动!
答案4
我通常只创建一个.sh
包含 ssh 命令的。例如:
# file name: mywebsite-live.sh
ssh [email protected] # or whatever the domain is.
然后运行它我只需这样做./mywebsite-live.sh
我意识到这可能是一个非常糟糕的解决方案,但它对我有用,并且希望它对其他人也有用。