Linux——Bash脚本基本用法总结
文章目录
- 基本语法
- 基于语法
- awk(分割命令返回值)
- sed(处理行内容)
- 融合正则指令
- 条件语句
- 条件判断符
- 1. if
- 2. while
- 额外方法
- 在脚本中使用命令行指令并获取返回值
- 延时
- 打印当前时间
基本语法
基于语法
awk(分割命令返回值)
- 基本语法:
- 默认
awk
不加参数时,默认以空格为分割符; awk -F “:”
(以:
为分隔符);- 需要注意的是:如果有多行的输出,那么awk会默认处理多行信息,如果需要指定某一行,可以继续往下看
sed
指令;
- 默认
echo xxxx | awk '{print $n}' # 第一个xxxx部分是命令行打印出来的东西,第二个n是指打印空格分割后的第几个内容
Example
:
# 以:为分隔符,并打印第部分元素
echo "a:b:c:d" | awk -F ":" '{print $1}'
# 以空格为分隔符,并打印第2部分元素
echo "a:b c:d" | awk '{print $2}'
# 默认处理多行信息,如果需要指定某一行,需要加上sed指令,可以继续往下看
gpustat | awk '{print $1}'
sed(处理行内容)
- 基本语法:
- 取出某一行内容:
sed -n 'xp'
,x
是指指定的行数,从1开始计数,第一行即为1;
- 取出某一行内容:
command sed -n 'xp' # 这里的command是指能返回多行信息的命令
Example
:
# 取出第一行内容
gpustat | sed -n '1p'
分别取出指定行内容:
融合正则指令
- 取出第1行以空格为分割的第2个单元内容:
# 命令 第一行 以空格为分割的第2个单元内容
command | sed -n '1p' | awk '{print $2}'
Example
:
gpustat | sed -n '1p' | awk '{print $2}' # 取出第1行第2个内容,Sun
gpustat | sed -n '2p' | awk '{print $7}' # 取出第2行第7个内容,89°
完了它居然降温了,本来应该是89°的QAQ…
条件语句
条件判断符
- 数字比较条件:比较两个整数谁大谁小,是否相等;
-eq
:等于-ne
:不等于-le
:小于等于-ge
:大于等于-lt
:小于-gt
:大于
用if
条件举例使用方法:
if [ num1 compare num2 ]
thenxxx # do something
fi# example 1:
if [ 1 -lt 2 ]
thenecho "1 < 2"
fi
1. if
- 基本语法:
if condition
thenxxx # do something
fi
Example
:
if true
thenecho "if I love you"
fi
2. while
- 基本语法:
while condition
do xxxif condition2thenbreak # 退出while循环fi
done
Example
:
while true
doecho "I love you"if truethenbreakfi
done
额外方法
在脚本中使用命令行指令并获取返回值
- 需要注意的是:在使用该命令时,最好返回值是个数字或者较易处理的字符串或表格;
var=$(command) # var为command命令的返回值
# 需要注意的点:
# 1. =不能有空格
# 2. command需要用$()的形式包起来
首先在命令行中直接执行命令查看结果:
ps -ef | grep python | grep -c train.py
随后我们在bash文件中使用该命令获取返回值:
num_process=$(ps -ef | grep python | grep -c train.py) #
echo "num_process is $num_process"
延时
sleep second # 此处填写秒数# 例子
sleep 5 # 等待5s
打印当前时间
- 可以放在脚本中或者直接在命令行输入:
echo $(date +%Y-%m-%d\ %H:%M:%S)
参考文章:
- bash笔记之awk
- bash学习之sed
- 条件判断:Bash条件判断
- shell脚本打印出时间
Linux——Bash脚本基本用法总结相关推荐
- linux同名文件没有自动替换,linux – bash脚本替换文件中出现的所有占位符
我正在尝试编写一个bash脚本,用一个同名环境变量替换文件中所有出现的占位符.举个例子,如果我有一个像下面这样的文件-- This is an {{VAR1}} {{VAR2}}. It should ...
- GitHub标星1.3W!五分钟带你搞定Linux Bash脚本使用技巧
原文:https://mp.weixin.qq.com/s/NnpyTOAghr_MXXK5H9twAg 来自:开源最前线(ID:OpenSourceTop) 综合自:https://leanpub ...
- 最全的Linux运维bash脚本常见用法总结
删除重复的数组元素 创建临时关联数组.设置关联数组 值并发生重复赋值时,bash会覆盖该键.这 允许我们有效地删除数组重复. CAVEAT:需要bash4+ 示例功能: remove_array_du ...
- 全宇宙最全的bash 脚本常见用法总结!
shopt -s extdebugf()(printf '%s\n' "${BASH_ARGV[@]}"); f "$@" shopt -u extdebug ...
- linux bash脚本编程知识点
bash变量类型: 环境变量 本地变量(局部变量) 位置变量 特殊变量 本地变量: set VARNAME=VALUE: 作用域为整个bash进程: 引用变量 $(varname) 局部变量: loc ...
- Linux.bash脚本编写基础
一.bash shell脚本编写基础: 1.linux服务器中新建目录:dema 命令行:mkdir dema 2.在目录下创建:dema.sh文件:cd dema/ : touch dema.sh ...
- Aria2Android 免root,Linux Bash脚本:在本地机上部署用户自用aria2服务
说明 aria2是一个功能丰富的下载器,但它是命令行程序,不符合多数人的胃口. 现有的aria2图形界面客户端(如webui-aria2.AriaNg.YAAW等)都是RPC客户端,为了使用这种客户端 ...
- 十分钟完成Bash 脚本进阶!列举Bash经典用法及其案例
前言:在linux中,Bash脚本是很基础的知识,大家可能一听脚本感觉很高大上,像小编当初刚开始学一样,感觉会写脚本的都是大神.虽然复杂的脚本是很烧脑,但是,当我们熟练的掌握了其中的用法与技巧,再多加 ...
- linux内存使用监控,如何利用Bash脚本监控Linux的内存使用情况
如何利用Bash脚本监控Linux的内存使用情况 发布时间:2020-09-13 14:36:53 来源:脚本之家 阅读:114 作者:Magesh Maruthamuthu 栏目:服务器 前言 目前 ...
最新文章
- 苹果挂端口方法_一招教你,让光猫四个端口既能上网又能IPTV,不用再区分端口...
- 如何通过netstat命令判断是否遭受Dos功击?遭到DDoS该如何缓解?
- AutoHotKey程序防止反编译的简单手段
- matlab工序能力分析,《MATLAB编程与系统仿真》课程考核说明
- 学术诚信是科学精神的基底
- 【数据大神必看】微信又添新功能!这个微信群可以学英语,而且全程免费
- WifiManager的getScanResults()返回列表为0
- C#的多线程机制探索1
- 编辑index.html
- centos6 安装xhprof扩展
- mysql被跑死_MySQL 8.0.23中复制架构从节点自动故障转移
- OpenCV学习(14) 细化算法(2)
- 【java笔记】线程池的介绍和使用
- 侦听键盘,将data写入文件data.out(成功版本)
- Julia : 关于类型的匹配和规范建议
- ati 缺少关键性文件_win10重装系统缺少计算机所需的介质驱动程序的解决方法
- Code For Better 谷歌开发者之声——谷歌Web工具包(GWT)
- 冒险岛079单机搭建流程
- 震惊!让90%的程序员一看就会的入门级AI项目!
- 返回上一页,ajax读出来的数据丢失。