Shell语法
Shell脚本的语法规范
规范和内容:
命名要有意义,后缀建议加上sh,英文命名
开头描述解释环境:#!/usr/bin/bash(或其他)( #!不是注释,是一个组合,特例记住)
建议写上作者、时间、描述等脚本信息。
#Author: liuyang
#Created Time: 2020/06/16 12:00
#Script Discription: this is a test执行代码
运行脚本
给与执行权限,路径运行
chmod 700 testshell.sh
./testshell.sh解释器直接运行,不需要给权限
bash testshell.sh
特殊的符号
~ : 家目录
- :上一次目录(返回)
! :执行历史命令,(!!;!XX;!20;//XX是之前命令的前面字符,可以是多个,20是history编号
$ :变量中取内容符
+-*/% :加减乘除取余
& :后台执行
* :通配符
? :匹配一个字符
; :命令间分隔
\ :转义字符
| :管道
`` :命令中执行命令 echo -n "Data is :";data +%F ==== echo "Data is :`data + %F`"
' ' " " :差不多,但是单引号不解释变量 '$xxx' 其中$不是变量
管道
A命令|B命令 A的输出作为B的输入 A==>B
重定向
A命令 >B文件 把A的内容输出到B,要求A是有输出的命令
> 每次都覆盖的输出
>> 追加的输出
A命令 < B文件 把B的内容输入到A,要求A是有输入的命令
<覆盖
<< 追加 fdisk /dev/sdb<<EOF........EOF
Shell数学运算
注意点:空格 转义
expr 。。。。。处理整数
bc (scale=2 小数点支持2位) (但是不是交互的,咋么办?用管道)
echo "当前内存使用率:`"scale=2;141*100/7966"|bc`%"
echo $((运算式))
退出脚本
exit NUM :一个值表示成功的返回值 0-255
文章转载自lau的手账,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




