day1-Shell脚本编程精讲(ob13)

一、Shell脚本编程精讲01

例1 清除日志脚本

cd /var/log
cat /dev/null > messages

Centos linux 系统默认的shell是?

#答案: bash
[root@web02 ~]# echo $SHELL
/bin/bash

sh 和 bash的区别

sh为bash的软连接
在这里插入图片描述

shell脚本的执行

三种执行方式
① bash script_name 或 sh script_name
② path /script_name 或 ./script_name (当前路径下执行脚本)
③ source script_name 或 . script_name #注意 " . "点号
值得注意的是第③个方式
在这里插入图片描述
举例说明:
在这里插入图片描述
可参考nfs配置文件
当使用 source 或 . 号脚本的时候,这样下面的才能调用脚本文件里的变量,如果变成sh则无法调用。
在这里插入图片描述
在这里插入图片描述

二、精讲02

变量可分为两类:环境变量(也称全局变量)和局部变量。
环境变量可以在命令行中设置,但用户退出时这些变量值也会丢失,因此最好在用户家目录下的**.bash_profile文件中或全局配置/etc/profile**文件中定义。I将环境变量放入profile文件中,每次用户登录时这些变量值都将被初始化。

环境变量应用于用户进程前,必须用export命令导出。

三种设置环境变量的方法:

① export 变量名=value
② 变量名=value ;  export 变量名
③ declare -x 变量名=value
export NAME=boy
declare -x NAME=boy
NAME=boy; export NAME

#vim家目录下的.bash_profile文件 和 全局配置/etc/profile定义
export OLDBOY='oldboy'

然后再外边 source /etc/profile 或 . /etc/profile使其生效

env | grep OLDBOY

比如:
在这里插入图片描述

显示环境变量的指令

env
#和 set显示所有本地变量
set

变量中单引号、双引号与不加引号的说明

在这里插入图片描述
在这里插入图片描述
这里也可参考骏马金龙的bash课程。但在awk中,上诉结论是相反的。
在这里插入图片描述

shell特殊变量

在这里插入图片描述

三、精讲03

bash内部变量

在这里插入图片描述

变量子串的操作

在这里插入图片描述
规律:

#从头开始, %从结尾开始。  可变相参考键盘数字的布局来记住这规律

在这里插入图片描述
也可参考Shell的Parameter Expansion
http://xstarcd.github.io/wiki/shell/ShellParameterExpansion.html

变量的数值计算

数值计算的常见命令:

(())
let
expr
bc
$[]
a=10
echo $((a++))

i=2
let i=i+3
#注意expr的运算符左右都有空格;使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解星号的含义
expr 3 + 2
expr 3 \* 2
expr $[2*3]

echo "scale=1;5.23 / 3.13"|bc 
typeset -i A=1 B=3
A=A+B
echo $A

shell变量的输入

read命令从标准输入获得
在这里插入图片描述

四、精讲04

bash条件测试

#格式1和格式2是等价的
格式1: test<测试表达式>
格式2: [<测试表达式>]
格式3: [[<测试表达式>]]

在这里插入图片描述

文件测试操作符

在这里插入图片描述

字符串测试操作符

在这里插入图片描述

比较符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

END 2021年1月31日00:01:25

猜你喜欢

转载自blog.csdn.net/Nightwish5/article/details/113408441