array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 嵌入式成长轨迹2【嵌入式环境及基础】【嵌入式Linux软件开发入门】【Shell脚本基础】 - 爱码网
zeedmood

 

【Shell常用命令讲解】
一、命令替换
echo "The date is `date`"  在单个命令行中使用多个命令
$ expr 4 + 5               该命令的输出作为标准输出,用于求值算术表达式,注意4后5前都有空格,否则会考虑为字符串
$((expression))            同样功能,不会考虑为字符串


echo                   输出
echo $变量             输出变量对应的值
read +变量             接下来的输入赋予变量
其中打入-n表示不换行(注意,是不换行)

二、条件执行
test和 [ ] 两个命令都为表达式求值,返回布尔值

1、[]前后都应有空格

2、test
test也可以用于字符串状态、检查文件状态(是否存在)
test + (以下:)
1)数值测试
-eq ==
-ne !=
-gt >
-ge >=
-lt <
-le <=
2)字符串测试
=、!=
-z + 字符串 字符串是否长度为零
-n + 字符串 字符串是否长度非零
3)文件测试
-e + 文件 是否存在
-r + 文件 是否存在且可读
-w + 文件 是否存在且可写
-x + 文件 是否存在且可执行
-s + 文件 是否存在且至少有一个字符
-d + 文件 是否存在且为目录
-f + 文件 是否存在且为普通文件
-c + 文件 是否存在且为字符特殊文件
-b + 文件 是否存在且为块特殊文件
文件测试中的连接符
并且 -a
或者 -o
非 !

三、if……fi结构
if[]
 then ……
elif []
 then ……
 else ……
fi

四、case……esac结构
使用这个构造依据变量的值执行一组特定指令
case $变量 in
值1)echo “”;;
值2)echo “”;;
*)echo“”;;
esac
双分号有break直接跳出此结构的功能

五、循环
1、while构造

while <条件>
do
 <各种命令>
done


2、until构造
求值模式与while相反,将执行直到求值条件为真
执行最少一次

3、for构造
for 变量名 in 值列表
do……
done

其中,break和continue也可使用

命令+>>+文件 将命令结果重定向到文件

六、控制进程的执行
用于请求后台进程的符号&
$ wc tempfile &
[1] 2082
$ vi newfile

七、后台进程
1、检查后台进程
Ps 在进程状态为每个当前活动的每个进程产生一行入口(代号)

2、终止后台进程
$ kill 278

八、查看完成一个命令所花的时间——time
$ time find /etc -name "passwd" 2> /dev/null
重定向到/dev/null把错误信息忽略掉

九、管道的介绍
| 是管道符号
它指示shell:
|前面的命令的输出作为|之后的命令输入发送

如:
ls -l | more
分页显示 查看详细信息

 


【demo代码】

一、

The First Shell!

 

1 echo "please enter your name:"
2
3 read fname
4
5 echo ${fname}
6
7 s=xxx
8
9 echo $s



#对应终端操作
[root@localhost ~]# ls -l
First.sh
-rw-r--r-- 1 root root 6 02-21 19:02 First.sh

[root@localhost ~]# ./First.sh

bash:
./First.sh: 权限不够

[root@localhost ~]# chmod a+x First.sh

[root@localhost ~]# ls -l
 First.sh
-rwxr-xr-x 1 root root 6 02-21 19:02 First.sh
[root@localhost ~]# ./First.sh

please enter your name:

mood

mood

xxx

[root@localhost ~]# vi First.sh

[root@localhost ~]# echo $HOME
 
/root

[root@localhost ~]# echo $PATH
/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

[root@localhost ~]# vi /etc/profile

在里边进行改动,添加当前路径.作为PATH其中之一,重启动即可直接访问当前目录下的文件无须加./

 

 

 

二、


# CallCenter.sh

 

1 #!/bin/bash
2
3 echo "Please enter Total number:"
4 read total
5 echo "Please enter resolve number:"
6 read res
7 echo $((total-res))


 

 

三、

# Avg.sh

 1 echo "Please enter score:"
2 read score
3 if [ $score -lt 80 ]
4 then
5 echo "Bad!"
6 elif [ $score -ge 80 -a -lt 90 ]
7
8 then
9 echo "Good!!"
10 else
11 echo "Very Good!!"
12
13 fi

 

分类:

技术点:

相关文章: