定义变量:

name='qwer'  不解析任何字符

name="qwer"  会解析$和\特殊字符

name1=123;name2=456  定义多个变量

now_date=`date`  执行系统命令(现在系统的时间)

引用变量:

echo $name

echo {$name}  {}用于区分边界

预定义变量:

$#  参数的数量

$@  所有参数

$*  所有参数

$?  执行后返回状态,0成功,非0失败

$$  当前进程号

$!  最后一个进程号

$0  当前进程名

输出格式:

echo  换行输出

echo -e $i \t 转义 \t 输出制表符

printf  不换行输出

接受键盘输入:

read name

echo "xxxx $name"

===============

cat file.txt | while read line  按行读入

按行输入:

<<|      用“|”做定界符

1111111111

222222222

|

let和expr整数算术运算:

i=10

j=20

q=30

let sum=$i+$j+$q

sum=`expr $i+$j+$q`

cheng=`expr $i\*$j`  乘法要用\转义

scale bc小数精度控制:

n=`echo "scale4;13/2" | bc`  scale4:小数4位

echo $n

6.5000

字符串操作:

echo ${name:0:3}  取0-3位数字符

string="you and you is name"

echo {string/you/YOU}  /替换you为YOU and you is name

echo {string//you/YOU}  //两次YOU and YOU is name

test比较运算:

大于  -gt

小于  -lt

大于等于  -ge

小于等于  -le

等于  -eq

不等于  -ne

================

a=100

b=200

test $b -gt $a

=================

str1="abc"

str2=""

test -n str1  测试str1长度不为0,成功返回0

test -z str1  测试str1长度不为空,成功返回0

test $str1 -a $str2  与

test $str1 -o $str2  或

test $str1 ! $str2  非

shell_01的更多相关文章

  1. Linux从入门到进阶全集——【第十四集:Shell基础命令】

    1,Shell就是命令行执行器 2,作用:将外层引用程序的例如ls ll等命令进行解释成01表示的二进制代码给内核,从而让硬件执行:硬件的执行结果返回给shell,shell解释成我们能看得懂的代码返 ...

  2. linux常用命令 awk命令

    awk命令 awk [选项] '条件1{动作1} 条件2{动作2}...' 文件名 条件(Pattern) *) 一般使用关系表达式作为条件 *) x>10 判断变量x是否大于10 *) x&g ...

  3. linux常用命令 命令管道符

    多命令顺序执行 多命令顺序执行 多命令执行符 格式 作用 : 命令1:命令2 多个命令顺序执行,命令之间没有任何逻辑联系 && 命令1&&命令2 逻辑与 当命令1正确执 ...

  4. linux常用命令 history命令

    历史命令 history [选项] [历史命令保存文件] 选项 '-c' 清空历史命令 '-w' 把缓存中的历史命令写入历史命令保存文件~/.bash_history [root@ssgao1987 ...

  5. shell shell基本概述

    SHELL的概念 SHELL是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序, 用户可以用shell来启动,挂起,停止甚至是编写一些程序. ​ Shell还是 ...

  6. shell 基本概述

    SHELL的概念 SHELL是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序, 用户可以用shell来启动,挂起,停止甚至是编写一些程序. ​ Shell还是 ...

随机推荐

  1. Java反射机制的基本概念与使用

    本篇文章分为以下几个部分: 1.认识反射 2.反射的源头(Class类) 3.利用反射操作构造方法 4.利用反射调用类中的方法 5.反射中的invoke方法 6.利用反射调用类中的属性 反射在我们普通 ...

  2. at91 uart driver for vxworks

    /* at91UART.c - AT91RM9200 serial driver */ /* Copyright 2003-2004 Coordinate Co., Ltd. */ /* Copyri ...

  3. js获取textaera对象(object)的值

    for(i in pstrWord ){ alert(i); //获得属性 alert(pstrWord[i]); //获得属性值 } 1.js输出object对象方法如下: function wri ...

  4. opencv 摄像头人脸检测

    PYTHON ubuntu16.04 默认安装的Python版本2.7.12,当用pip install opencv-python 安装了opencv for python 3.3.0.10后,运行 ...

  5. JAVA中所有与集合有关的实现类都是这六个接口的实现类

    JAVA中所有与集合有关的实现类都是这六个接口的实现类. Collection接口:集合中每一个元素为一个对象,这个接口将这些对象组织在一起,形成一维结构. List接口代表按照元素一定的相关顺序来组 ...

  6. 硬件设计之串口收发器---ISO1050 (现行) 隔离式 5V CAN 收发器

    http://www.ti.com.cn/product/cn/iso1050 http://www.deyisupport.com/question_answer/dsp_arm/sitara_ar ...

  7. 【转】Native Thread for Win32 C- Creating Processes(通俗易懂,非常好)

    http://www.bogotobogo.com/cplusplus/multithreading_win32C.php To create a new process, we need to ca ...

  8. VC++ GetSafeHwnd()和GetSafeHandle()

    GetSafeHwnd()和GetSafeHandle()的主要区别: 使用者不同: (1)窗体使用:GetSafeHwnd()用于获取窗体的安全句柄(即HWND),有了HWND我们就可以方便的对HW ...

  9. Angular2 兼容 UC浏览器、QQ浏览器、猎豹浏览器

    找到/src/polyfills.ts文件 把/** IE9, IE10 and IE11 requires all of the following polyfills. **/下注释掉的代码恢复 ...

  10. iOS开发之 -- 判断是否第一次登陆APP

    判断是否第一次登陆app,具体方法如下: if (![[NSUserDefaults standardUserDefaults]boolForKey:@"firstLaunch"] ...