定义变量:

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. PHP——转义字符

    链接:百度-转义字符 http://baike.baidu.com/link?url=obfdOqATx4TO0Ev_kFnPz37wwW3SDhFPsvNobVTidhFuCn2zK5VmCuW1L ...

  2. CI框架中 类名不能以方法名相同

    昨天晚上一个坑爹的问题折腾了我一晚上,首先我来说下我的代码,我建立了一个index的控制器然后呢  在控制器里有一个index的方法.页面模板都有. if ( ! defined('BASEPATH' ...

  3. Asp.net回调技术Callback学习

    .aspx: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.a ...

  4. 115个Java面试题和答案(下)

    转自:http://www.importnew.com/11028.html   第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处 ...

  5. 以上过程为实现equals的标准过程

    以下为定义equal(加上这个定义,返回ture或false) public boolean equals(Object o){ student s=(student)o; if (s.name.eq ...

  6. openssl升级并发症

    简单介绍一下系统环境: 操作系统:redhat6.3 ,安装的主要涉及到的包有: root@192.168.100.252:/root# rpm -qa | grep ssh openssh-.3p1 ...

  7. List<T>转DataTable

    /// <summary> /// 将集合类转换成DataTable /// </summary> /// <param name="list"> ...

  8. Boost-date_time库学习

    最近开了boost库的学习,就先从日期-时间库开始吧,boost的date_time库是一个很强大的时间库,用起来还是挺方便的. 以下代码只是入门级的简单学习,更详细的资料参考boost源码.  C+ ...

  9. a标签点击后,给a标签添加样式

    window.onload=function(){ var a = document.getElementById("cate").getElementsByTagName(&qu ...

  10. The user specified as a definer (”@’%') does not exist解决方法

    报错如下: 遇见这个问题,网上都是千篇一律,改权限( grant all privileges on *.* to root@”%” identified by “.”;   flush privil ...