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

Posted hellokitty2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中新增一个shell命令的方法相关的知识,希望对你有一定的参考价值。

1. 可以在一个自己建立的shell脚本中定义一个函数,使用 ". xxx.sh" 或者 "source xxx.sh" 运行这个shell脚本之后,其中的function就自动成为了当前shell中的新增命令了。

2. android编译配置环境时会运行. build/envsetup.sh脚本,就是使用这种方法为当前shell新增了一些命令,如:croot, lunch, mm, mmm, mma, cgrep等等。一直以为envsetup.sh中做了什么高级操作才实现了这样神奇的效果,也一直在为子shell中如何改变父shell的目录而烦恼,看了脚本的实现后发现原来十分简单,只需要在脚本中定义一个函数即可,例如:

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

这样source完envsetup.sh就可以直接使用croot命令了,无需其它任何操作。

 

3. 写一个脚本测试一下

# cat cmd.sh

#!/bin/sh    # 这里可有可无

function mycd()

    cd /home

测试:

[email protected]:/home/ubuntu/Android_work/Mytest# mycd        //先执行一下确保当前shell中无此命令
[email protected]:/home/ubuntu/Android_work/Mytest# . cmd.sh  //需要先执行一下这个脚本,可以把它放在~/.bashrc中为每个命令行窗口自动执行
[email protected]:/home/ubuntu/Android_work/Mytest# mycd        //执行命令
[email protected]:/home#                                         //cd /home体现在父shell中了。

 

 

 

 

参考:

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

 

以上是关于linux中新增一个shell命令的方法的主要内容,如果未能解决你的问题,请参考以下文章

ES6中新增的字符串方法

python中使用shell命令及常用函数

数组中新增方法reduce中的第2个参数怎么使用

Linux bash基础特性二

css3中新增的样式使用方法

Gradle执行Shell命令并获取执行结果|进行JSON数据解析