Bash   发布时间:2022-05-13  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了shell知识点梳理大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

1. sHell的理解

sHell程序是文本文件,里面存放的是批量的Linux命令集合。该文件能被sHell解释执行。
其一般由Linux命令、sHell命令、控制语句及注释语句构成。
sHell程序通过 #!/bin/bash#!/bin/sh指定用哪个程序来编译和执行脚本。

2. 变量

变量类型:根据变量的作用域,变量可分为本地变量和环境变量。
有一个是当前用户的环境变量,其所在文件为 ~/.bash_profile
export导出环境变量
source使修改的环境变量文件生效:source .bash_profile
变量赋值:等号两边不能有空格
显示变量:echo $varecho ${var}
清除变量:unset var
显示所有变量:set
环境变量按照惯例需要大写

3. 位置参量

执行的脚步 + 参数 ,这个参数就是位置变量

@H_944_42@位置变量 @H_944_42@含义
$0 当前脚本的文件名
$1~$9 1个到第9个位置参量
${10} 第10个位置参量
$# 位置参量的个数
$* 已单字符串显示所有位置参量
$@ 未加双引号时与 $*含义相同,加双引号时有区别
$$ 脚本运行的当前进程号
$! 最后一个后台运行的进程的进程号
$? 显示前面最后一个命令的退出状态,0 没有错误,非0 有错误

4.数组

数组定义:arr=(var1 var2 var3)
数组使用:echo ${arr[0]}
数组所有元素: echo ${arr[*]}
数组个数:echo ${#arr[*]}

5. 时间

date
 man date
 date +%Y-%m-%d

在脚本中的写法:

data_time=$(date)
date_time=`date`

一天前

data_time=$(datedate='1 days ago' +%Y-%m-%d)

一天后

data_time=$(datedate='1 days' +%Y-%m-%d)

6.判断

判断有两种方式:test 和 [],常用[]
注意:用判断符号[],注意[]的两端需要有空格来分割,如[ -z “$HOME” ]

a. 判断某个文件类型
例:test –e filename 表示该文件是否存在

@H_944_42@符号 @H_944_42@含义
–e 表示该文件是否存在
-f 是否是文件
-d 是否是目录

b.判断权限
例:test –r filename 是否可读

@H_944_42@符号 @H_944_42@含义
-w 是否可写
-x 是否可执行

c.判断两个整数

@H_944_42@符号 @H_944_42@含义
-eq 两数相等
-ne 两数不等
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于

d.判断字符串
例:
test –z String 判断是否为空,为空,为true
test –n String 判断是否为非空,非空为true
test str1=str2 判断str1与str2是否相等,相等,为true
test str1!=str2 判断str1与str2是否不相等,不相等,为true

@H_944_42@符号 @H_944_42@含义
–z 判断是否为空,为空,为true
–n 判断是否为非空,非空为true
str1=str2 判断str1与str2是否相等,相等,为true
str1!=str2 判断str1与str2是否不相等,不相等,为true

注意
${TEST:-${test_ONE}}
该语句表示,若TEST变量不存在,则执行$test_ONE

7. if判断

多个条件判断时的示例:

if [ 条件判断式 ] || [ 条件判断式 ]
if [ 条件判断式  ||  条件判断式 ]

if语句有三种方式,可以嵌套
方式一:

if[ 条件判断式 ];then
执行语句
fi

方式二:

if[ 条件判断式 ];then
执行语句
else
执行语句
fi

方式三:

if[ 条件判断式 ];then
执行语句
elif [ 条件判断式 ];then
执行语句
else
执行语句
fi

8.循环

循环可以通过 for 和 while 实现
a. for循环
示例1:

for var in {1..10}
do
语句
done

实例2:

for((i=0;i<10;i=i+1))
do
s=$((${s}+${i}))
done

更详细的实例:for详细用法
b.while循环

while [ 条件语句 ]
do
语句
done

9.读取文件内容

文件内容
file_name

Hello word

方法一:

while read item_one item_two
do
echo $item_one $item_two
done < /path/file_name

方式二:
从文件或命令中逐行读取

while read line
cat /path/file_name | while read line
do
echo $line
done

大佬总结

以上是大佬教程为你收集整理的shell知识点梳理全部内容,希望文章能够帮你解决shell知识点梳理所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: