2012-02-01 120 views
0

有没有办法在命令行上“扩展”bash别名并获得它后面的命令? 因此,它会例如将ls变成;bash别名expantion

ls --color=auto 

我不断进入的情况下,当我的别名做几乎是我想做的事,但不完全...

这是可能的所有建议或赞赏

+0

尝试别名吗?嘿嘿 – Jasonw 2012-02-01 07:37:10

回答

1

答案尝试

$ alias alias_name 

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

1

一个更复杂的方式,它适用于呼应:

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

所以,在像

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

会导致呼应的命令,因为它会被发布到外壳的功能,所有的扩展后,到位。

这对调试可能很有用。

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