bash编程也叫shell编程

预定义变量

        $? 最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确的执行;如果这个变量返回的值非0(具体是那个数,有命令自己来决定),则证明上一个命令执行不正确。

$$当前进程的进程号(PID)

$!后台运行的最后一个进程的进程号(PID)

运算符

declare 声名变量的类型  
        declare [+/-][选项] 变量名

- 给变量设定类型属性

+ 取消变量的类型属性

-i 将变量声名为整数型

-x将变量什申明为环境变量

-p 显示指定变量的被声名的类型

举例:


a=1
b=2
declare -i c = $a+$b
c=$(($a+$b)) 注意用双小括号,因为Linux中认为一切皆为字符。 如果不加()当成一个命令,shell脚本中Linux命令在 $() 中运行,当然可以直接写命令,如果则一些引用命令时 就要 $()

单分支if  条件语句

if [ 条件判断式 ];then
程序
fi
or
if [ 条件判断式 ]
then
程序
fi

判断登录用户是否为root用户:

#!/bin/bash

#grep 获取行通配符
#cut 获取列统配符,以 = 分割 2 获取第二列
login_name=$(env | grep LOGNAME | cut -d "=" -f 2)
#echo $login_name if [ "$login_name" != "root" ] then
echo 'isnot root'
fi

判断根分区的占用率

#!/bin/bash
#df -h 任性话显示磁盘的利用率
#awk 获取第五列
#cut 对字符用 % 进行分割 获取第一列值
result=$( df -h | grep sda1 | awk '{print $5}' | cut -d % -f 1) if [ "$result" -lt '90' ]
then
echo 'the root dir is not full' fi

双分支if条件语句

if [ 条件判断式 ]
then
...
else
...
fi

判断nginx 是否在运行 (最好不用包含nginx作为文件名)

#!/bin/bash
result=$(ps aux | grep nginx | grep -v grep) if [ -n "$result" ]
then
echo "$(date) nginx is ok !"
else
echo "$(date) nginx is not ok !" sudo /etc/init.d/nginx start &>/dev/null
echo "$(date) restart nginx !!"
fi

多分支if语句

if []
then
elif []
then
...
else
...
if

Linux中bash编程的更多相关文章

  1. linux中shell编程

    shell编程 1 echo -e 识别\转义符 \a \b \t \n \x十六进制 \0八进制 等等 #!/bin/bash echo -e "hello world" 执行脚 ...

  2. Linux中Bash发现重大安全漏洞修改方法

    北京时间9月25日消息,Linux用户今天又得到了一个“惊喜”!Red Hat安全团队在 Linux 中广泛使用的Bash shell中发现了一个隐晦而危险的安全漏洞.该漏洞被称为“Bash Bug” ...

  3. 你应该掌握linux中Bash命令的一些快捷方式

    在本文中,我们将分享许多对任何Linux用户都有用的Bash命令行快捷方式.这些快捷方式可以快速地执行某些动作,例如访问和运行先前执行的命令,打开编辑器,在命令行上编辑/删除/更改文本,移动光标,控制 ...

  4. linux中shell编程 -->三剑客习题汇总

    目录 1.找出/proc/meminfo文件中以s开头的行,至少用三种方式忽略大小写 2.显示当前系统上的以root,centos或者user开头的信息 3.找出/etc/init.d/functio ...

  5. linux中网络编程<1>

    1 网络编程API (1)网络层的ip地址可以唯一标识网络中的主机,传输层通过协议+端口唯一标识主机中的应用程序.这样以来使用三元组(地址,协议,端口)标识网络的进程. (2)socket---> ...

  6. Linux中bash的一些命令

    Linux——bash的简单使用 bash及其特性: 1.bash实质上是一个可执行的程序,一个用户的工作环境. 2.每一个shell下可以再打开一个shell,新打开的shell称为子shell,每 ...

  7. (转)关于linux中内核编程中结构体的赋值操作(结构体指定初始化)

    网址:http://blog.chinaunix.net/uid-24807808-id-3219820.html 在看linux源码的时候,经常会看到类似于下面的结构体赋值的代码: struct d ...

  8. Linux中bash shell环境变量

    别名 别名是命令的快捷方式.为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用.语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令.重要的 ...

  9. linux中 shell编程 判断服务是否运行

    判断nginx是否运行中: if ps -ef|grep "nginx"|egrep -v grep >/dev/null then echo ok! else echo n ...

随机推荐

  1. 深入__proto__和prototype的区别和联系

    前话 有一个一个装逼的同事,写了一段代码 function a(){} a.__proto__.__proto__.__proto__ 然后问我,下面这个玩意a.__proto__.__proto__ ...

  2. elasticsearch的插件安装

    目前使用的是2.4.5版本的es 安装的时候注意以下几点 : 1.如果想所有的ip都能访问es,需要修改config下的elasticsearch.yml.修改如下 network.host=0.0. ...

  3. 《DSP using MATLAB》Problem 2.6

    1.代码 %% ------------------------------------------------------------------------ %% Output Info abou ...

  4. juqery学习3之juqery对象条件筛选

    代码例子:某个div块下的字体样式的控制. //script代码 <script src="${sitePath}/cec_wcp/js/jquery-1.8.2.min.js&quo ...

  5. ubuntu17.10安装LAMP并测试部署php探针系统

    ubuntu17.10修改密码以及安装LAMP并部署php探针系统 步骤1:ubuntu17.10配置IP (这个版本配置IP方式改变较大,apt-get upgrade更新至最新以前配置方式也可以用 ...

  6. web应用中的Filter过滤器之基础概述

    1 过滤器概述 当web容器接收到对一个资源的请求时,它将判断是否有过滤器与这个资源相关联,如果有,那么容器将把这个请求交给过滤器进行处理.在过滤器中,你可以改变请求的内容或者重新设置请求的报头信息, ...

  7. xshell 用密钥登录服务器

    来源:http://coolnull.com/3510.html 说明:ssh登录提供两种认证方式:口令(密码)认证方式和密钥认证方式.其中口令(密码)认证方式是我们最常用的一种,这里介绍密钥认证方式 ...

  8. Android wm指令用法详解

    wm 是查看和设置显示信息的指令,此指令只能临时调试使用. wm:查看 wm 指令信息 $ adb shell root@rk3288:/ # wm wm usage: wm [subcommand] ...

  9. 【java】JDK环境变量配置

    1.双击下载的JDK  设置安装路径.这里我们选择默认安装在C:\Program Files\Java\jdk1.8.0_51(java 环境分JDK 和JRE ,JDK就是Java Developm ...

  10. mybatis 高级映射 简单例子

    1.建表 DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `gender` ) NOT NULL, `name` ) NOT NULL, `id` ...