zoukankan      html  css  js  c++  java
  • Linux shell 脚本中使用 alias 定义的别名

    https://www.cnblogs.com/chenjo/p/11145021.html

    核心知识点: 用 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 foundshell中开启alias扩展shell中开启alias扩展之后检查

    expand_aliases onshell中开启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

    纵有白头俱老意,奈何缘浅路芊芊.
  • 相关阅读:
    BZOJ1880: [Sdoi2009]Elaxia的路线(最短路)
    「BZOJ1433」[ZJOI2009] 假期的宿舍(二分图,网络流)
    BZOJ 1061 [Noi2008]志愿者招募(费用流)
    [BZOJ2879][Noi2012]美食节(费用流)
    bzoj 1834 [ZJOI2010] network 网络扩容(费用流)
    BZOJ2668:[CQOI2012]交换棋子(费用流)
    bzoj1070【SCOI2007】修车(费用流)
    【BZOJ 1877】 [SDOI2009]晨跑(费用流)
    SQLite_Home
    GeoMesa-单机搭建
  • 原文地址:https://www.cnblogs.com/hanby/p/14150285.html
Copyright © 2011-2022 走看看