在参数内使用zsh的全局别名

  发布于 2023-02-13 10:10

我为一些远程主机使用全局别名, alias -g MY_HOST="server.waytolongfoobar.com"以便能够使用它们进行ssh ssh MY_HOST.但是,如果我想向主持人scp一些东西,我必须使用一些尴尬的东西scp file.tar.gz 'echo MY_HOST':~/dir.有没有更好的方法在参数内使用全局别名?

也许我使用全局别名是为了错误的目的?我想我实际上可以使用像scp file $MY_HOST:~/dir.这样的导出变量.无论如何,全局别名对变量的好处是什么(除了不必键入$).

1 个回答
  • 您可以直接在ssh不使用shell的情况下定义主机别名.将以下内容添加到您的.ssh/config文件中:

    host MY_HOST
        HostName server.waytolongfoobar.com
    

    现在,任何地方sshscp将采用主机名,它将被MY_HOST视为同义词server.waytolongfoobar.com.


    至于你关于别名实用程序的问题,它们在解析命令行的任何部分之前都会被扩展,允许你包含shell语法:

    % alias -g PAGE="| less"
    % cat .zshrc PAGE         # expands to cat .zshrc | less
    % alias -g ignore="> /dev/null"
    % cat .zshrc ignore
    

    2023-02-13 10:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有