美文网首页
Linux shell脚本中使用alias定义的别名

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

作者: 菩提老鹰 | 来源:发表于2019-01-14 11:42 被阅读98次

    核心知识点 shopt 开启和关闭 alias 扩展
    交付模式默认是开启的,脚本的默认是关闭的
    alais 扩展的名称是 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 或者 ~/.bashrc 中去,两个的区别是影响的范围不一样而已

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

    打开新的session 在命令行执行aliasTest 输出同样的结果

    shell中使用alias

    先看执行的结果

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

    在研究具体的脚本

    #!/bin/bash 
    
    echo  "如果alias是在~/.bashrc等文件中定义,需要先执行 source ~/.bashrc"
    source /root/.bashrc
    
    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
    

    附加

    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

    相关文章

      网友评论

          本文标题:Linux shell脚本中使用alias定义的别名

          本文链接:https://www.haomeiwen.com/subject/kjeddqtx.html