linux中新增一个shell命令最简单的方法

linux中新增一个shell命令最简单的方法
结论:运行shell脚本之后,其中的function就自动成为了当前shell中的新增命令了。
android编译时会运行. build/envsetup.sh脚本,运行后就为当前shell新增了一些命令,如:croot,lunch,mm,mmm,mma,cgrep等等。这些命令十分好用,为开发带来了极大的便利。
一直以为envsetup.sh中做了什么高级操作才实现了这样神奇的效果,看了脚本的实现后发现原来十分简单,只需要在脚本中定义一个函数即可,例如:
function croot()
{
    local T=$(gettop)
    if [ "$T" ]; then
        if [ "$1" ]; then
            \cd $(gettop)/$1
        else
            \cd $(gettop)
        fi
    else
        echo "Couldn't locate the top of the tree.  Try setting TOP."
    fi
}
这样就实现了croot命令了,无需其它任何操作。


我们在写个简单脚本实验一下:
在一个新开的shell中随便输入一串字符如:sdf,提示没有这个命令

新建一个名为 ss.sh的脚本,里面实现一个sdf的function

运行脚本后,再次执行sdf命令,发现一个新命令就这样被添加了^^

当然如果不想每次都执行一次脚本,可以放到开启shell窗口时自动执行的~/.bashrc脚本中。

猜你喜欢

转载自blog.csdn.net/RadianceBlau/article/details/78345844