【问题标题】:bash alias expantionbash 别名扩展
【发布时间】:2012-02-01 07:33:57
【问题描述】:

有没有办法在命令行上“扩展”一个 bash 别名并获取它背后的命令? 例如,它会将 ls 变成;

ls --color=auto

当我的别名几乎可以做我想做的事,但不完全是……

这可能所有的建议或答案都赞赏

【问题讨论】:

    标签: bash shell command-line


    【解决方案1】:

    试试

    $ alias alias_name 
    

    它将显示给定别名的扩展名

    【讨论】:

      【解决方案2】:

      还有一种更复杂的方式,适合回显:

      $ cut -d = -f1 --complement< <(alias alias_name) | tr '"'"'" ' '
      

      所以,在这样的函数中

      exp() { 
        cmd=$1 
        shift 
        echo $(cut -d = -f1 --complement< <(alias $cmd) | tr '"'"'" ' ') $@
      }
      

      将导致在所有扩展都到位后回显命令,因为它将被发出到 shell。

      这可能对调试有用。

      $ exp ll .*
      ls -l --color=tty . .. .bash_history .bash_logout .bash_profile .bashrc .lesshst
      

      【讨论】:

        猜你喜欢
        • 2012-12-24
        • 2011-06-11
        • 1970-01-01
        • 2011-01-11
        • 1970-01-01
        • 1970-01-01
        • 2015-03-04
        • 1970-01-01
        • 2013-10-09
        相关资源
        最近更新 更多