shell脚本

1.脚本工作方式分为:交互式(interactive)和批处理(batch)。脚本就是可以理解为编号代码的一个文件,而里面的代码/命令可以在bash直接运行。这一系例代码组成的文件,bash直接调用这个文件,就算使用了这个脚本。

2.脚本文件后缀:.sh

3.文件结构:

#!xxxxxx
#xxxxx
pwd

第一行脚本声明,用来告诉系统使用哪种shell解释器来执行改脚本

第二行注释

第三行Linux语句

4.参数

#!/bin/bash
#
echo "$0"
echo "$#,$*"
echo "$1,$2,$3"

$0 脚本名称

$# 参数个数

$* 所有位置的参数值

$? 上一次命令的执行返回值

$12345 第12345位置的参数值

通过参数的不同可以执行不同的内容

5.判断参数

shell 逻辑运算符

&& 运算符:

格式

command1  && command2

&&左边的命令(命令1)返回真(即返回0,成功被执行)后,&&右边的命令(命令2)才能够被执行;换句话说,“如果这个命令执行成功&&那么执行这个命令”。
语法格式如下:

command1 && command2 && command3 ...
  1. 命令之间使用 && 连接,实现逻辑与的功能。
  2. 只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才会被执行。
  3. 只要有一个命令返回假(命令返回值 $? == 1),后面的命令就不会被执行。

|| 运算符:

格式

command1 || command2

||则与&&相反。如果||左边的命令(command1)未执行成功,那么就执行||右边的命令(command2);或者换句话说,“如果这个命令执行失败了||那么就执行这个命令。

  1. 命令之间使用 || 连接,实现逻辑或的功能。

  2. 只有在 || 左边的命令返回假(命令返回值 $? == 1),|| 右边的命令才会被执行。这和 c 语言中的逻辑或语法功能相同,即实现短路逻辑或操作。

  3. 只要有一个命令返回真(命令返回值 $? == 0),后面的命令就不会被执行。

[ `free -m | grep Mem: | awk '{print $4}'` -lt 1024 ] && echo "need more mem" || echo "enough"
原文地址:https://www.cnblogs.com/working-in-heart/p/13043911.html