怎么在Bash脚本中引入别名方法

  介绍

本篇文章给大家分享的是有关怎么在Bash脚本中引入别名方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

别名的使用

在日常开发中,为了提高运维效率,我们会用别名(命令别名)来定义命令的简称。比如在<代码> ~/ash_profile> alias 你=& # 39;ls  -lrt ——颜色# 39;   alias  bdebug=癵o  build  -gcflags  & # 39; -N  - l # 39;“   alias  py3=& # 39;/usr/bin/python3& # 39;

执行~/<代码>来源。bash_profile 之后,这些别名定义便载入到当前终端环境中,我们可以通过<代码>别名& lt; cmd> 进行查看

,美元alias  ll    你=& # 39;ls  -lrt ——颜色# 39;      美元,alias  bdebug   bdebug=& # 39; go  build  -gcflags  & # 39; \ & # 39; & # 39; -N  - l # 39; \ & # 39;

在命令行执行别名也能看到预期效果

,美元ll    total  44   -rw-rw-r,, 1, liyang  liyang , 62, Sep  16, 09:38  test.c   -rw-rw-r,, 1, liyang  liyang , 68, Sep  16, 09:38  foo   -rw-rw-r,, 1, liyang  liyang , 74, Sep  16, 09:38  foo.c   -rwxrwxr-x  1, liyang  liyang  8592年,Sep  16, 09:44  libfoo.so   -rw-rw-r,, 1, liyang  liyang  4347年,Sep  16, 09:44  o23.s   -rwxrwxr-x  1, liyang  liyang  9451年,Sep  16, 09:45 测试

在Bash脚本中引入别名的问题

但是有些时候,我们希望将<代码> ~/. bash_profile>

脚本文件测试。sh

# !/bin/bash   source  ~/. bash_profile   将

执行测试。上海文件却会报错

,美元bash  test.sh    test.sh: line  5:噢,command  not 发现

这是因为在Bash中,别名默认是不能引入Bash脚本中的.Bash的官方文档其实更建议你使用<代码> 函数而非<代码>别名>

幸好,解决方法还是有的。

解决方法

只需要在测试。上海中加入一行<代码> shopt - s expand_aliases

新的脚本文件

# !/bin/bash      shopt  -s  expand_aliases   source  ~/. bash_profile   将

执行一下,果然成功了,这是为什么呢?

,美元bash  test.sh    total  48   -rw-rw-r,, 1, liyang  liyang , 62, Sep  16, 09:38  test.c   -rw-rw-r,, 1, liyang  liyang , 68, Sep  16, 09:38  foo   -rw-rw-r,, 1, liyang  liyang , 74, Sep  16, 09:38  foo.c   -rwxrwxr-x  1, liyang  liyang  8592年,Sep  16, 09:44  libfoo.so   -rw-rw-r,, 1, liyang  liyang  4347年,Sep  16, 09:44  o23.s   -rwxrwxr-x  1, liyang  liyang  9451年,Sep  16, 09:45 测试   -rw-rw-r,, 1, liyang  liyang , 64, Mar  8, 21:33 测试。sh

关键在于<代码> shopt - s expand_aliases 这句话,<代码> shopt> expand_aliases> 别名>

expand_aliases
如果设置,别名是扩展如下所述别名,别名。这个选项是默认启用交互式shell。

以上就是怎么在Bash脚本中引入别名方法,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

怎么在Bash脚本中引入别名方法