jck28-lucio-bash脚本编写

Bash 脚本创建

  • touch bash_script.sh
  • vim或者vi bash_script.sh
  • 写入代码

#!/bin/bash
echo “Hello World”

Bash 执行

  1. chmod +x bash_script.sh
  2. ./bash_script.sh

Bash 单行注释

  • 注释段落的开头使用#

Bash 多行注释

  • 在<< BLOCK和BLOCK之间的内容会被当成注释
  • 在: ’’中的内容会被当成注释

read 命令

  • read 命令是用于从终端或者文件中读取输入的内部命令
  • 格式 read <variable_name>
  • read 常用参数
    • -p 命令行选项在同一行上输入
    • -s 静默输入
    • -a 对数组进行多个输入

read 读取单个和多个变量

echo "Enter the your name: "
read user_name
echo “Your name is $user_name”
echo
echo "Enter your age, phone and address: "
read age phone address
echo "your age is:$age, phone is:$phone, address: $address "

算术运算

在 Bash 中支持11种算术运算符。

运算符 描述 运算示例
+ 加法 $((7+2)) ,打印输出 9
- 减法 $((7-2)) ,打印输出 5
* 乘法 $((7*2)) ,打印输出 14
/ 除法 $((18/2)) ,打印输出 9
** 求幂 $((10**2)) ,打印输出 100
% $((11%3)) ,打印输出 2
+= 常量递增变量,结果存储回变量 x=7;let”x += 7”;echo $x ,打印输出 9
-= 常量递减变量,结果存储回变量 x=7;let”x -= 2”;echo $x ,打印输出 5
*= 变量乘以常量,结果存储回变量 x=7;let”x *= 2”;echo $x ,打印输出 14
/= 变量除以常量,结果存储回变量 x=18;let”x /= 2”;echo $x ,打印输出 9
%= 变量除以常量的余数,结果存储回变量 x=11;let”x %= 3”;echo $x ,打印输出 2

关系运算符

image

关系运算符列表

Bash算术运算符

  • 双括号
  • 反引号:反引号要与expr(通用表达式求值器)执行算术扩展。
  • let:let "Num3 = $(( Num1 + Num2 ))"

脚本输出文件

touch test.sh
chmod +x test.sh
vim test.sh

#!/bin/bash
echo “Hello World” > test.txt

Bash 与目录操作命令结合

创建目录并生成文件

mkdir test
cd test
echo “hello” > test.txt
ls

Bash 与内存操作结合

#!/bin/bash

for i in ps aux | awk '{print $6}'|grep -v 'RSS'
do
count=$[ $count+$i ]
done
echo “$count/kb”
~

脚本中编写函数

  • 脚本中编写了函数需要在脚本中调用才会执行
  • 函数如果涉及传参需要在调用函数的时候带上参数