码迷,mamicode.com
首页 > 其他好文 > 详细

个人记录

时间:2016-05-07 11:03:38      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:

2016年3月30 号

1、shell脚本开始切记不能写错:#! /bin/sh ,#!/bin/bash

因为我们使用的是 bash ,所以,必须要以『 #!/bin/bash 』来宣告这个档案内的语法使用 bash 的语法。

 

整个 script 当中,除了第一行的『 #!』是用来宣告 shell 的之外,其他的 # 都是『批注』用途!所以上面的程序当中,第二行以下就是用来说明整个程序的基本数据。一般来说, 建议你一定要养成说明该 script 的:1. 内容不功能; 2. 版本信息;3. 作者不联系方式; 4. 建檔日期;5. 历史纪录等等。这将有助于未来程序的改写不 debug 呢!

 

建议你一定要养成良好的 script 撰写习惯,在每个 script 的文件头处记录好:

 script 的功能;

 script 的版本信息;

 script 的作者与联系方式;

 script 的版权宣告方式;

 script 的 History (历史记录);

 script 内较特殊的指令,使用『绛对路径』的方式来下达;

 script 运作时需要的环境发量预先宣告不讴定。

 

 

 

 

2、Linux测试计划Linux Test Project),是一个由SGI发起并由IBM负责维护的合作计划。它的目的是为开源社区提供测试套件来验证Linux的可靠性、健壮性和稳定性。

长时程增强作用(Long-termPotentiation),也称“长期增益效应”,指给突触前纤维一个短暂的高频刺激后,突触传递效率和强度增加几倍且能持续数小时至几天保持这种增强的现象。

LISA Technic Package的简称,是LISA项目(Leadership Improvement for Student Achievement)的一个子项目,主要是为LISA做技术准备。

长期计划(Long-termplanning),在sap系统中的一个模块,即长期计划。

局部三值模式(localternary pattern),类似于局部二值模式LBP)的一种三元模式的图像纹理特征编码方法。

 

3、date -s “01:01:012008-05-23″ //这样可以设置全部时间

date –s 20160330这样是设置时间

 

4、ll 命令列出的信息更加详细,有时间,是否可读写等信息

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2016.4.1

1、(熊)TestFile : 各种安装包,包括各个模块需要的安装包 Common_info.sh : 运行test scripts之前,要先修改里面的参数 ###Global remote SSH parameter G_Remote_ip= 192.168.0.129 -------- 远端设备的以太网IP #WiFi AP for CoAP ------ 无线网络的用户名密码G_SSID="test" G_PWD="tizen123" ###MQTT global parameter------ 测试MQTT模块需要四个板子,以下是另外两个板子的以太网IP #Another subscribe board G_Sub_IP=192.168.0.2 #Server for MQTTtest G_Server_IP=192.168.0.144

 

这个是你编写testsuit 时,必须要的第一行:

TC_NonFun_Init TC_NonFun_Test_Init.sh #Test InitializationScript, Please don‘t Delete

 

 

 

2、如何测试自己的脚本:

     1 填写自己的命令文件my_cmd_file
   
写入  moon01 moon01
    将该文件放入runtest 目录下
   2将moon01脚本放入testcase/bin下
   3执行./runltp -p -l result.log -fmy_cmd_file
   4 执行结果调用moon01打印出信息

 

1、   拷贝所有文件cp –R /home/lj/*

2、   Testcase:表示最终可执行的代码,shell可以直接进行,因为有些命令linux可以识别

Runtest:管理测试的,你需要写一个文件,里面第一列代表序列号,第二例代表shell的文件名。

3、   ls | grep +你要搜的关键词的缩写字母

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2016.4.6

1、以太网测试时步骤:①拷ltp测试工具包testcase到/opt/ltp/testcase/bin

②其次把testsuit中是写好的索引,你自己写test时

③要把第一行拷过来,其他的自己选择粘贴跑。

④要修改主板子上的Common。。.sh文件中改下客户端(副板子)上的IP.

遇到的问题是:第十个频繁的开关有问题,栋叔把频繁开关下让他停了5秒,解决了了,可能是太频繁了,不能反应。

 

 

 

2016.4.7

1、ifconfig 查出的结果eth0是插网线的ip地址;而lo是一个回环地址;wlan0是wifi的ip地址。

2、查看一个无线网ip时ifconfig wlan0。

 

 

 

2016.4.14

1、bash~/.bashrc :这是在子程序下进行的,回显时并不会出现。

      source~/.bashrc :这个是在父程序执行的,回显时有存在。

2、test最后我们可以透过$?戒 && 及 || 来展现整个结果呢

     变量在被取用时,前面必须要加上字号『 $ 』

   如:test -e /dmtsai && echo "exist" ||echo "Not exist"

Not exist

变量的设定:name=lj

                   echo $lj

单引号与双引号最大的同在于双引号仍然可以保有原有的变量内容,但单引号内仅能是一般字符,而丌会有特殊符号。

[root@www ~]# name=VBird [root@www ~]# echo $name VBird [root@www ~]# myname="$name its me" [root@www ~]# echo $myname VBird its me [root@www ~]# myname=‘$name its me‘ [root@www ~]# echo $myname $name its me

 

 

4、几个常见的 port 不相关网绚服务的关系是:

 80: WWW

 22: ssh

 21: ftp

 25: mail

 111: RPC(进程过程调用)

 631: CUPS(打印服务功能)、

5、$在脚本中代表一个变量

6、如何debug shell脚本

       [root@www ~]# sh[-nvx] scripts.sh

-n :丌要执行 script,仅查询语法的问题;

 -v :再执行 sccript 前,先将scripts 的内容输出刡屏幕上;

 -x :将使用刡的 script 内容显示刡屏幕上,这是很有用的参数!

 

5、linux中一个下达命令cp lj\enter /home,此时的lj就被复制到home下。

6、echo $$可回显进程

7、declare [-aixr] variable 选项不参数: -a :将后面名为 variable 变量定义成为数组 (array) 类型 -i :将后面名为 variable 变量定义成为整数数字 (integer) 类型 -x :用法不 export 一样,就是将后面癿 variable 发成环境发量; -r :将发量讴定成为 readonly 类型,该发量丌可被更改内容,也丌能 unset

 

8、在这样癿练习中『A=B』且『B=C』,若我下达『unset $A』,则叏消癿发数是 A 还是 B?

被取消是 B 喔,因为 unset $A 相当亍 unset B 所以取消的是 B ,A 会继续存在!

 

 

 

 

 

 

 

 

 

 

 

 

2016.4.12

1、shell脚本中环境变量:

    首先你要知道这个PATH=。。。。的作用,他是为了你不在当前目录下也能运行次脚本,所以这时你需要查看当前的环境变量,命令为echo $PATH。这时你又必须把自己脚本所在的目录加进去,命令为PATH=$PATH:/LJ。此时再执行echo $PATH,这时候你的路径就已经加进去,然后你的脚本中PATH=。。。就是刚刚回显的路径。这时候你可以在任何环境下运行你的脚本,但此时用的是sh./lj.sh这样的命令。

 

2、其次还要说明的就是sh和./执行的区别,此时PATH就体现出来重要性,./是在子目录下运行,他的运行其实不太符合脚本的运行方式,因为他的执行并没有用到#!/bin/bash这行并不起作用,有没有这行命令,当前目录都可以运行。而运行sh时是调用到#!/bin/bash内部自动转变成/bin/bash ping.sh。再添加一个就是source和sh执行的不同:sh是在bash的子程序下执行的并没有保存,sh执行完成后子程序就结束。但source是在父进程执行的,有保存。鸟哥书上讲的很详细。

 

3、还有要说明的是#!/bin/bash这个为什么不能加也可以???

是说明下面的脚本是在什么shell下面运行的,并且以该shell环境来执行脚本。Linux中的shell有多种类型,其中最常用的几种是Bourne   shell(sh)、C  shell(csh)和Korn   shell(ksh)。三种shell各有优缺点。Bourne   shell是UNIX最初使用的shell,并且在每种UNIX上都可以使用。Bourne   shell在shell编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种shell。Linux操作系统缺省的shell是Bourne   Again  shell,它是Bourne  shell的扩展,简称Bash,与Bourne   shell完全向后兼容,并且在Bourne   shell的基础上增加、增强了很多特性。所以加了只是说有些命令不会报错而已。

 

4、   filename=${fileuser:-"filename"} fileuser 变量未设定或者为空,filename取"-"后面的值;否则filename=$fileuser

 

 

 

2016.4.13

1、test –e 该文档是否存在

   test –f该『档名』是否存在且为档案(file)?

   Test  -d该『文件名』是否存在且为目录(directory)?(常用)

2、Shell script 的默认变数($0, $1...)

$0:代表你下达的指令,如sh 1.sh ttt

$#:代表你终端执行后面的参数的个数

$@:参数的全部内容

$1:第一个参数的内容

$2:第二个参数的内容

$$

Shell本身的PID(ProcessID)

$!

Shell最后运行的后台Process的PID

$?

最后运行的命令的结束代码(返回值)

$-

使用Set命令设定的Flag一览

$*

所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。

$@

所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2"… "$n" 的形式输出所有参数。

$#

添加到Shell的参数个数

$0

Shell本身的文件名

$1~$n

添加到Shell的各参数值。$1是第1参数、$2是第2参数…。

 

 

 

3、shift是偏移的意思,shift3就是从前面开始掉3个

4、函数的调用:fun $1,代表此时你传的参数是你命令行后的第一个数。

5、Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

   从整体上看,netstat的输出结果可以分为两个部分:

 

一个是ActiveInternet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

 

另一个是ActiveUNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。

Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型STREAM为TCP,DREAM为UDP,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。

6、function 也是拥有内建变量的~他的内建变量与 shell script 很类似, 函数名称代表示 $0 ,而后续接的发量也是以 $1, $2... 来取代的~ 这里很容易搞错喔~因为『 functionfname() { 程序段 } 』内的 $0, $1... 等等不 shell script 的 $0 是不同的。以上面 sh12-2.sh 来说,假如我下达:『 sh sh12-2.sh one 』这表示在 shell script 内的 $1 为 "one" 这个字符串。但是在 printit() 内的 $1 则不这个 one 无关。

#!/bin/bash

fun()

{

        count=0

        while (($count<$1))

        do

 

                        echo $count

                        let count++

        done

}

fun1//fun$1

这里一定要记住的是,函数中的$1与你终端命令的参数无关,fun后面的数是你传给参数的值。如果为1,就是传1,如果$1那就是传的终端的第一个参数。

7、while do done, until do done 循环的固定句。

8、cut –d判断是否是次文件,-f

 

 

9、那个2>/dev/null是如果你的命令出错的话,错误报告直接就删除了。不会显示在屏幕上,或者是以邮件的形式发给你了。

 

10、ffmpeg

 -ss:可以从指定时间开始转换任务,单位为秒

 -s:分辨率大小

 -r:指定的帧速率

 -b:指定的比特率

-i "1.avi"(输入文件是和ffmpeg在同一目录下的1.avi文件,可以自己加路径,改名字)

-f :输出的格式

-y:(覆盖输出文件,即如果1.***文件已经存在的话,不经提示就覆盖掉了)

-b 1500(视频数据流量,用-b xxxx的指令则使用固定码率,数字随便改,1500以上没效果;还可以用动态码率如:-qscale 4和-qscale 6,4的质量比6高)

 

4月20号

1、${#fileinfo[@]}  是取的fileinfo这个数组的个数,取数组的长度。

2、fswebcam是一个视频抓取软件。

3、获取jpg的扩展信息(Exif) identify-verbose xxx.jpg

 

 

2016.5.3

1、什么事wiced

Broadcom针对可穿戴设备,推出了名为WICED的开发平台,可将蓝牙、WiFi、NFC和定位技术整合到可穿戴设备中。WICED可为设备嵌入低功耗、高性能、可互操作的无线联网功能。

 

 

 

 

 

2016 .5.6

1、    如何把VirtualBox中Ubuntu的全屏

首先:【设备】->【安装增强功能】,安装好后,在最左边竖条里面有个设置啥的,会有刚刚那个安装程序。点开后最上方有个自动运行软件。然后打开终端,在cd/media里面你会找到那个文件,可能也会再深一层。再运行sudo  ./VBOXADDITIONS这时候会出现输入密码,输入后就好了。重新启动就ok

个人记录

标签:

原文地址:http://blog.csdn.net/sinat_25284775/article/details/51330807

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!