免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3968 | 回复: 2
打印 上一主题 下一主题

[学习共享] 让alias支持位置参数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-14 17:22 |只看该作者 |倒序浏览
linux下面,大家都会把常用的命令改成别名或则是函数来提高效率。

个人一直不喜欢函数,它不像别名那样一目了然,而别名不支持位置参数,这样实用性就大大折扣。

今天中午想到一种思路,特来分享下
  1. #!/bin/bash
  2. #
  3. # 让alias支持位置参数
  4. #
  5. # 在启动文件中按下面的顺序source本脚本
  6. #
  7. # source ~/.zsh_aliases
  8. # source ~/bin/aliaswrapper.sh
  9. #
  10. # Date: 20120814 12:52
  11. # Author: riptide

  12. _wrapalias_shell="zsh"

  13. [ $BASH_VERSION  ] && _wrapalias_shell="bash"

  14. alias_file=`readlink -m $HOME/.${_wrapalias_shell}_aliases`

  15. sed 's/\(\s*alias\s*.*\)\(\s*#.*\)/\1/' $alias_file | grep -e "^\s*alias" | grep -e "\$[1-9]" | sed 's/\(alias\ \)\(.*\)=[\x27\x22]\(.*\)[\x27\x22]\s*$/function \2 () { \3 }/' | while read -r func ; do
  16.    [ $1 ] && echo $func
  17.    unalias `echo $func | cut -d" " -f2`
  18.    eval "$func"
  19. done
复制代码
举下例子:只要正常的写别名,带上你要的位置参数,就可以了

代码:
  1. alias h="$1 --help | less"
  2. alias ssh2="ssh -p $1 -qTfnN -D 7070 $2 "
  3. alias nohup2="nohup $1 > /dev/null 2>&1 & "
  4. alias xsel2=" $1 | xsel -b "
复制代码

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
2 [报告]
发表于 2012-08-17 09:30 |只看该作者
这个看个人习惯了。

谢谢分享。

论坛徽章:
93
2015年辞旧岁徽章
日期:2019-10-10 10:51:15CU大牛徽章
日期:2014-02-21 14:21:56CU十二周年纪念徽章
日期:2020-10-15 16:55:55CU大牛徽章
日期:2014-02-21 14:22:07羊年新春福章
日期:2019-10-10 10:51:39CU大牛徽章
日期:2019-10-10 10:55:38季节之章:春
日期:2020-10-15 16:57:40ChinaUnix元老
日期:2019-10-10 10:54:42季节之章:冬
日期:2019-10-10 10:57:17CU大牛徽章
日期:2014-02-21 14:22:52CU大牛徽章
日期:2014-03-13 10:40:30CU大牛徽章
日期:2014-02-21 14:23:15
3 [报告]
发表于 2012-08-17 11:11 |只看该作者
不喜欢函数,所以把函数深深藏在心中,藏在代码的中心。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP