alias命令高级用法

发布时间 2023-09-17 21:44:17作者: 星宇x

开心一刻

       悟空大喝一声:筋斗云。。。
       半小时过去了,筋斗云还没来。
       悟空再喝:筋斗云。。。
       一小时之后,筋斗云没来。
       现在插播一条天气预报:今天天气晴朗,万里无云。

写在前面

       我在使用 rsync 命令时用了特别多的参数,导致这一条命令特别长,因此我想到了用 alias 给命令起一个别名,但是我在其中的 ip 地址是会变化的,我不想每次都去 ~/.bashrc 中修改 alias 中记录下来的内容,因此想吧 alias 之后的命令变成支持输入参数的形式,我在网上搜索了之后发现 alias 真的能做到,特别记录一下。

标准用法

       linux 系统中本身就有很多 alias 之后的命令,例如

alias grep='grep --color'
alias ll=ls -lh

       要让 alias 后的命令在每次启动之后都生效,只需要将其放到~/.bashrc 或者 ~/.bash_profile 中。

进阶用法

       alias 后的参数中可以定义一个函数,传参数就在函数内部处理,然后将参数防止在正确的位置,那么就能够实现 alias 后的命令接收参数传递。

例如:

alias rz='f() { ip=$1; rsync -av -e ssh --delete-after ~/GolandProjects/ root@${ip}:/root/ --exclude=.git --exclude=.gitattributes --exclude=.gitignore --exclude=.idea --exclude=.DS_Store; }; f '

一点需要注意的地方:

函数定义后的左大括号之后要有一个空格,否则可能会执行失败
右大括号后边有一个分号,右大括号前面好像没要求必须有一个空格,不过我这里加上了一个空格

总结

       还是熟能生巧,要多踩些坑,才能更快解决碰到的问题。