• Linux shell 脚本中使用 alias 定义的别名


    核心知识点: 用 shopt 开启和关闭 alias 扩展

    交互模式下alias 扩展默认是开启的,脚本模式下默认是关闭的 ****
    alias 扩展的名称是 expand_aliases

    alias 定义

    在当前session中,可以直接在命令行执行 alias alias-name-define="xxxx"

    比如:

    root@pts/9 $ alias aliasTest="echo Hello world"
    
    root@pts/9 $ aliasTest  
    Hello world
    

    如果想要永久保存定义的alias,可以将其写入到 /etc/profile 或者 ~/.bash_rc 中去,两个的区别是影响的范围不一样而已

    root@pts/9 $ vim ~/.bash_rc 
    
    root@pts/9 $ tail -1 ~/.bash_rc 
    alias aliasTest="echo Hello world"
    

    打开新的session 在命令行先执行source ~/.bash_rc 再执行 aliasTest 输出同样的结果

    在脚本中使用 alias

    先看执行的结果

    [root@node1 ~]# ./test.sh 
    如果alias是在~/.bash_rc等文件中定义,需要先执行 source ~/.bash_rc
    检查默认情况下shell脚本中是否开启alias扩展
    expand_aliases 	off
    默认情况下执行定义的alias
    ./test.sh: line 8: aliasTest: command not found
    shell中开启alias扩展
    shell中开启alias扩展之后检查
    expand_aliases 	on
    shell中开启alias扩展之后,使用alias别名
    Hello world
    [root@node1 ~]#
    

    再研究具体的脚本

    # cat test.sh 
    echo  "如果alias是在~/.bash_rc等文件中定义,需要先执行 source ~/.bash_rc"
    source /root/.bash_rc
    
    echo "检查默认情况下shell脚本中是否开启alias扩展"
    shopt expand_aliases   
    
    echo "默认情况下执行定义的alias"
    aliasTest
    
    echo "shell中开启alias扩展"
    shopt -s  expand_aliases  
    
    echo "shell中开启alias扩展之后检查"
    shopt expand_aliases   
    
    echo "shell中开启alias扩展之后,使用alias别名"
    aliasTest
    
    

    附加

    (执行 help shopt 可以查看该shell内置命令的帮助信息)

    Command Desc
    shopt -s opt_name Enable (set) opt_name
    shopt -u opt_name Disable (unset) opt_name
    shopt opt_name Show current status of opt_name

    参考资料

  • 相关阅读:
    css侧边栏之综合实例3
    css侧边栏之综合实例2
    css实例之侧边栏
    css实例之正文
    css之使用 | margin | padding
    css之链接 | 点击后变色 | 悬停 | hover
    1.2(Mybatis学习笔记)Mybatis核心配置
    1.1(Mybatis学习笔记)初识Mybatis
    1.1(Spring学习笔记)Spring-事务基础
    1.4(Spring学习笔记)Spring-JDBC基础
  • 原文地址:https://www.cnblogs.com/chenjo/p/11145021.html
Copyright © 2020-2023  润新知