浅析busybox-1.12.0中ash的脚本命令局限性

LUTHER=

表示将LUTHER清空,将其变为null
echo ${LUTHER:-111}如果执行该句之前LUTHER变量不存在,那么显示111,否则显示$LUTHER
echo ${LUTHER:=111}如果执行该句之前LUTHER变量不存在,那么显示111,同时将111赋值给LUTHER,就此创建变量LUTHER变量,否则显示$LUTHER
echo ${LUTHER:+111}如果执行该句之前LUTHER变量不存在,那么显示null空,否则显示111

1.不支持[[ ]]和(( ))条件判断,支持最平常的[ ]判断,[[]]是从bash2.02开始引入的
if [[ $1 >= $2 ]]; then
if [[ 1 >= 2 ]]; then
2.不支持数组
3.支持字符串扩展b={$a,"1 2 3 4","a b c d"}必须用逗号隔开
4.支持命令块{ echo 'a'; echo 'b'; }
5.子shell中执行的命令块(echo 'a'; echo 'b')
6.busybox函数返回数值$?可以支持到2G即2147483647,而在pc上$?最大为255
7.busybox有$RANDOM系统变量,没有$SECONDS变量
8.不支持exec 9<&0
9.对于数字操作只能使用expr,不能使用let,也不能使用(())双括号
    expr [数字] [操作符] [数字]
        下面是有效的算术操作符:
    +   两个整数相加
    -   第一个数减去第二个数
    *   两整数相乘
    /   第一个整数除以第二个整数
    %   两整数相除,取余数  
10.支持getopts,$OPTARG和$OPTIND
11.${*:2},${@:2}和${*:2:3}等参数提取方式不支持
12.不支持${string:position}...${string/substring/replacement}等字符串操作
13.支持${#string}字符串长度提取和${string#substring}

浅析busybox-1.12.0中ash的脚本命令局限性的更多相关文章

  1. 在AX4.0中使用C#脚本的实现

    1,虽然ms收购了ax,但是在ax低版本(ver<=4.0)中,还没有办法直接使用ms现在主推的.net技术. 通常的做法是现在AX中天津.net的引用,然后才能在代码中使用.net的一些对象以 ...

  2. Hadoop-2.2.0中文文档—— Shell命令

    FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式. 全部的的FS shell命令使用URI路径作为參数.URI格式是scheme: ...

  3. PowerShell3.0中,所有的命令

    Get-Command * >> cmd.txt CommandType Name ModuleName ----------- ---- ---------- Alias % -> ...

  4. oozie的shell-action中加入hive脚本命令启动执行shell同时操作hive,抛异常Container killed on request. Exit code is 143 Container exited with a non-zero exit code 143

    使用oozie来调度操作,用shell的action执行命令,其中shell里包含着hive -e 操作执行时,oozie窗口报 WARN ShellActionExecutor: - SERVER[ ...

  5. Linux中执行shell脚本命令的4种方法总结

    bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...

  6. ASP.Net4.0中新增23项功能

    这篇文章介绍Visual Studio 2010 (ASP.Net 4.0)的新功能. 1.代码片段(Code Snippets): 代码段是预先开发的代码模板,可以节省我们对有关语法思考的时间.在V ...

  7. nginx-1.12.0安装

    1.配置相关环境: yum install -y gcc glibc gcc-c++ zlib pcre-devel openssl-devel rewrite模块需要pcre库 ssl功能需要ope ...

  8. Zend Studio 12.0.2正式版发布和破解方法,zend studio 12.0.1汉化,相式设置为Dreamweaver,空格缩进为4个, 代码默认不折叠的设置,Outline中使用的图形标志,代码颜色之eot设置。

    背景:zend studio 12.0.2 修复了一个12.0.1的:  Fixed problem with referenced variables marked as undefined,我都说 ...

  9. 从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法

    注意,64位系统,用64位的补丁文件; https://www.cnblogs.com/A2008A/articles/2438962.html 操作系统:使用的是64位的Windows Server ...

随机推荐

  1. The Angles of a Triangle

    The Angles of a Triangle You are given the lengths for each side on a triangle. You need to find all ...

  2. 读论文系列:Nearest Keyword Search in XML Documents中使用的数据结构(CT、ECT)

    Reference: [1]Y. Tao, S. Papadopoulos, C. Sheng, K. Stefanidis. Nearest Keyword Search in XML Docume ...

  3. UML--核心视图之用例图

    如果说UML是一门语言,那么元素就是UML的基本词汇,视图就是语法. UML通过视图将基本元素组织在一起,形成有意义的句子. 静态视图,顾名思义,就是表达静态事物的.包括用例图.类图和包图. 用例图 ...

  4. highchart 实现mrtg

    最近需要对流量图进行重构, <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  5. URL重写是实现PHP伪静态

    URL重写是实现PHP伪静态 应该这样说才是,URL重写是实现PHP伪静态的方式之一, 具体如: http://www.plframe.com/?x=1&y=2&z=3 换成 http ...

  6. Javascript刷新页面的几种方法:

    Javascript刷新页面的几种方法: 1    history.go(0) 2    window.location.reload() window.location.reload(true)  ...

  7. pyqt字符串分离开,放入列表中

    string1 = ''''' the stirng Has many line In THE fIle ''' list_of_string = string1.split() print list ...

  8. Uiviewcontroller 控制器的生命周期

    这是一个ViewController完整的声明周期,其实里面还有好多地方需要我们注意一下: 1:initialize函数并不会每次创建对象都调用,只有在这个类第一次创建对象时才会调用,做一些类的准备工 ...

  9. xib和Storyboard 创建Cell的方式

    xib 方式 .在Cell.h文件中加一个宏 #define cellIdentifier @"customCell" . ViewController中: - (void)vie ...

  10. PC--CSS技巧

    1.图片不存在的时候,显示一个默认图片 <img src=”01.jpg” onerror=”this.src=’02.jpg'” /> 2.CSS强制图片自适应大小 img {width ...