浅析busybox-1.12.0中ash的脚本命令局限性
LUTHER=
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的脚本命令局限性的更多相关文章
- 在AX4.0中使用C#脚本的实现
1,虽然ms收购了ax,但是在ax低版本(ver<=4.0)中,还没有办法直接使用ms现在主推的.net技术. 通常的做法是现在AX中天津.net的引用,然后才能在代码中使用.net的一些对象以 ...
- Hadoop-2.2.0中文文档—— Shell命令
FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式. 全部的的FS shell命令使用URI路径作为參数.URI格式是scheme: ...
- PowerShell3.0中,所有的命令
Get-Command * >> cmd.txt CommandType Name ModuleName ----------- ---- ---------- Alias % -> ...
- 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[ ...
- Linux中执行shell脚本命令的4种方法总结
bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...
- ASP.Net4.0中新增23项功能
这篇文章介绍Visual Studio 2010 (ASP.Net 4.0)的新功能. 1.代码片段(Code Snippets): 代码段是预先开发的代码模板,可以节省我们对有关语法思考的时间.在V ...
- nginx-1.12.0安装
1.配置相关环境: yum install -y gcc glibc gcc-c++ zlib pcre-devel openssl-devel rewrite模块需要pcre库 ssl功能需要ope ...
- 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,我都说 ...
- 从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法
注意,64位系统,用64位的补丁文件; https://www.cnblogs.com/A2008A/articles/2438962.html 操作系统:使用的是64位的Windows Server ...
随机推荐
- Android,监控ContentProvider的数据改变
有时候应用中需要监听ContentProvider的改变并提供响应,这时候就要利用ContentObserver类了 不管是ContentProvider中实现的,insert,delete,upda ...
- 【转】树莓派学习笔记——I2C Tools 学习笔记
原文网址:http://blog.csdn.net/xukai871105/article/details/15029843 1.安装 I2C驱动载入和速率修改请查看博文[树莓派学习笔记——I ...
- Spark机器学习笔记一
Spark机器学习库现支持两种接口的API:RDD-based和DataFrame-based,Spark官方网站上说,RDD-based APIs在2.0后进入维护模式,主要的机器学习API是spa ...
- 关于qt学习的一点小记录(2)
嗯...这次接了个单 要求图形界面,刚好可以巩固并学习下QT.毫不犹豫的就接了 下面记录下出现的问题: 1. QWidget和QDialog QDialog下的槽函数有accept()与reject( ...
- 计算机视觉库 SimpleCV
SimpleCV首页.文档和下载 - 计算机视觉库 - 开源中国社区 计算机视觉库 SimpleCV 编辑/纠错 分享到 新浪微博腾讯微博 已用 +0 收藏 + ...
- 删除list中指定值的元素
public class ListRemoveAll { public static void main(String[] args) { // TODO Auto-generated method ...
- Python3.5 queue模块详解
queue介绍 queue是python中的标准库,俗称队列,可以直接import 引用,在python2.x中,模块名为Queue 在python中,多个线程之间的数据是共享的,多个线程进行数据交换 ...
- 应对Deadline,时间怎么安排?
问题定义 项目过程中,每项任务都是有时间要求的,一般体现为"截止时间".即Deadline. 怎样安排时间,才干在Deadline之前完毕任务呢? 有效实践 错误做法 在Deadl ...
- 制作可独立分发的Android模拟器
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6586759 如果我们编写了一个Android应 ...
- 为github帐号添加SSH keys
为github帐号添加SSH keys 2012-05-26 00:05 34279人阅读 评论(6) 收藏 举报 ssh文本编辑gitvim工具up 使用git clone命令从github上同步g ...