浅析busybox-1.12.0中ash的脚本命令局限性
2015-07-02 01:29
253 查看
浅析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}
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}
相关文章推荐
- php采集淘宝商品价格,促销价格
- JAVA对象创建的过程(简单粗暴明了)
- php函数— strip_tags() 函数
- Java堆分析
- C语言程序内存四区(栈区,堆区,全局区,代码区)
- shell 总结
- php函数—截断函数mb_substr()详细介绍
- shell 总结
- IO复用_select函数
- HDFS详细分析一
- Maven两个snapshot版本项目依赖,无法deploy
- JSP基础实例_request获得客户端参数_学习笔记
- 一步一步跟着官方文档安装部署Openstack(icehouse)五
- tr 替换删除字符
- tr 替换删除字符
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- 使用Topshelf创建Windows服务
- 2015.07.02-INFOR级别调试信息在任务管理器启动后不能输出
- 盘点10种最酷农业机器人