shell脚本(2)-shell脚本语法

摘要:
/bin/bash指该脚本运行解析由/bin/bash来完成shell的注释使用#号(#!

一、如何抒写shell脚本

1、shell脚本的命名

名字要有意义,不要以a、b、c、1、2、3这种方式命令,建议以sh结尾,在30个字节内,例如:check_memory.sh

2、shell脚本的格式

shell脚本开头必须指定运行环境以#!这个特殊组合来组成,如:#!/bin/bash指该脚本运行解析由/bin/bash来完成

shell的注释使用#号(执行脚本的注释最好使用英文)(#!是特例)

#Author:Mr White
#Created Time:2021/07/17 00:50#Srcipt Description:nginx install script

二、shell脚本运行方法

1、脚本运行需要执行权限,赋予执行权限后,该脚本可以运行

chmod u+x filename

2、不希望赋予脚本执行权限,那么可以使用base命令来运行未给予执行权限的脚本

base filename

三、shell中的特殊符号

不要和正则表达式中的符号含义搞混淆了。

~:家目录 #cd ~代表进入家目录

! :执行历史记录 !!执行上一条命令

$:变量中取内容符

+ - * / % :加减乘除余

&:后台执行

*:通配符,匹配所有

?:通配符,匹配一个字符

;:一行执行多个命令,用分号分隔

|:管道符,上一个命令的输出作为下一个命令的输入

:转义字符

``:反引号,命令中执行命令

' ':单引号,脚本中字符串用单引号引起来,不同与双引号是的,单引号不解释变量(两个单引号可以)

" ":双引号,脚本中出现的字符串可以用双引号引起来

四、管道

| :管理符在shell中使用最多,很多组合命令都需要通过管道来完成输出,管理符其实就是下一个命令对上一个命令的输出做处理

[root@localhost ~]# cat /etc/passwd | grep "root"root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

五、重定向

1、重定向输出:覆盖原数据

[root@localhost test20210718]# echo haha > ./test.txt
[root@localhost test20210718]# cat test.txt
haha
[root@localhost test20210718]# echo hehe > ./test.txt
[root@localhost test20210718]# cat test.txt
hehe

2、重定向追加输出:在原数据的末尾添加

[root@localhost test20210718]# echo zhuijia1 >>test.txt
[root@localhost test20210718]# echo zhuijia2 >>test.txt
[root@localhost test20210718]# echo zhuijia3 >>test.txt
[root@localhost test20210718]# cat test.txt 
hehe
zhuijia1
zhuijia2
zhuijia3

3、重定向输入:

[root@localhost test20210718]# wc <test.txt #返回 行 单词 字节
 4  4 32

4、重定向追加输入:

[root@localhost test20210718]# wc <<EOF
> hello world!!
>EOF
 1  2 14

六、shell脚本中的数学运算

1、expr命令:只能做整数运算,格式比较古板,注意空格

[root@localhost test20210718]# expr 2 + 3
5[root@localhost test20210718]# expr 2 - 3
-1[root@localhost test20210718]# expr 2 * 3
6[root@localhost test20210718]# expr 2 / 3
0[root@localhost test20210718]# expr 2 % 3
2

2、使用bc计算器处理浮点运算,scale=2代表小数点保留两位

[root@localhost test20210718]# free -mh
              total        used        free      shared  buff/cache   available
Mem:           972M        176M        435M        7.7M360M        647M
Swap:          2.0G          0B        2.0G
[root@localhost test20210718]# expr 435 / 972
0[root@localhost test20210718]# echo "`echo  "scale=2;435*100/972"| bc`%"
44.75%

3、使用let对整数做运算,需要赋值变量

[root@localhost test20210718]# let a=5+1[root@localhost test20210718]# echo $a
6

4、(())运算符,处理整形

[root@localhost test20210718]# echo $((1+2))
3

七、脚本退出

exit NUM退出脚本,释放系统资源,NUM代表一个整数,代表返回值

免责声明:文章转载自《shell脚本(2)-shell脚本语法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇火狐与IE兼容性总结(二)html标签和uniapp内置组件的映射表下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Shell脚本学习笔记3——控制GPIO

在我参与维护的一个项目中,硬件上有一处设计失误:本应该短接到地的一个GPIO没有短接到地,导致某一个功能不能实现,正式出货的时候会进行改版。 但目前还处于测试阶段,只需要先把这个功能实现出来,方案有两个,一是硬件上飞线去实现,而是通过软件去拉低这个GPIO。鉴于硬件飞线比较麻烦,所以我们选择软件上写一个脚本来实现。 我们可以先通过命令行来控制某一个GPIO...

四、使用ADB命令清除缓存

一、ADB Shell 应用 查看目录结构 :adb shell ls 查看系统当前日期 :adb shell date 查看系统 CPU 使用情况 :adb shell cat /proc/cpuinfo 查看系统内存使用情况 :adb shell cat /proc/meminfo 显示所有应用 :adb shell pm list pack...

shell export 作用转载

shell 与 export命令用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令 或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。 此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建 的shell。当一个...

Shell篇(三)TC Shell

Shell脚本的首行一般写为"#!+路径"来告诉系统,以路径所指定的程序来解释此脚本。              可以写为 #! /bin/tcsh -f (-f表示快速启动,不启动~/.tcshrc) Shell中的单引号' '  表示当Shell碰见第一个单引号时,它会忽略其后直到右引号的所有特殊字符。一般可用在alias              a...

shell脚本开发环境的配置和优化实践

vim路径等配置知识的整理见表: 相关配置文件 功能描述 .viminfo 用户使用vim的操作历史 .vimrc 当前用户vim的配置文件 /etc/vimrc 系统全局vim的配置文件 /usr/share/vim/vim74/colors/ 配色模板文件存放路径 .vimrc 的配置内容如下: "~/.vimrc"vim co...

获取apk的Activity和Package

2.查看包名和activity adb logcat|grep -i activitymanager 获取当前界面的activity 1.adb shell dumpsys window windows 2.adb shell dumpsys window windows| grep mCurrentFocus 3.获取Package aapt d...