![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shell脚本与Linux
三林浦桥
汽车行业从业者,嵌入式开发,新技术追求者,非全研究生备考中
展开
-
详解shell脚本(一)——基础篇上
用shell进行数学运算在Bash shell环境中,可以利用let、(( ))和[]执行基本的算术操作。而在进行高级操作时,expr和bc这两个工具也会非常有用。#!/bin/bashno1=4;no2=5;let result=no1+no2echo $resultlet no+=6#使用[]result=$[ no1 + no2 ]result=$[ $no1 + 5...原创 2018-02-23 22:40:17 · 215 阅读 · 0 评论 -
详解shell脚本(十一)—— 提高与补充
用cron进行调度cron利用的是一个叫做cron表的文件,这个文件中存储了需要执行的脚本或命令的调度列表以及执行时间。一个常见的用法是设置在免费时段(一些ISP提供免费使用时间,通常是在午夜),从Internet上进行下载。用户完全不需要在夜里熬红双眼等待下载。只需要编写一个cron条目,然后调度下载即可。你也可以安排当免费时段结束后自动断开Internet连接并关机。#每天每小时第二分...原创 2018-02-23 23:32:21 · 232 阅读 · 0 评论 -
详解shell脚本(十)——磁盘和进程
检查磁盘及文件系统错误要检查分区或文件系统的错误,只需要将路径作为fsck的参数:fsck /dev/sdbs检查/etc/fstab中所配置的所有文件系统:fsck -A指定fsck自动修复错误,无需询问是否进行修复:fsck -a /dev/sda2模拟fsck要执行的操作:fsck -AN收集进程信息ps -e -f (e,every;f,...原创 2018-02-23 23:29:20 · 250 阅读 · 0 评论 -
详解shell脚本(九)——awk命令编程
awk命令编程特殊变量NR: 表示记录数量,在执行过程中对应当前行号 NF:表示字段数量,在执行过程中对应当前行的字段数$0:这个变量包含执行过程中当前行的文本内容$1:这个变量包含第一个字段的文本内容$2:这个变量包含第二个字段的文本内容awk内建的字符串控制函数length(string): 返回字符串的长度index(string, search_stri...原创 2018-02-23 23:27:01 · 278 阅读 · 0 评论 -
详解shell脚本(八)——正则表达式和文本替换
正则表达式#IP地址[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}[0-9]或[:digit:]匹配数字0~9。{1,3}匹配1到3个数字,.匹配”.”。表 4-1:正则表达式 描述 示例 - 行起始标记 -tux匹配以tux起始的行 ...原创 2018-02-23 23:24:24 · 10174 阅读 · 0 评论 -
详解shell脚本(七)——玩转文件
批量重命名和移动文件#!/bin/bash#filename: rename.sh#desc: rename .jpg & .pngcount=1;for img in `find . -iname '*.png' -o -iname '*.jpg' -type f -maxdepth 1`do new=image-$count.${img##*.} ec...原创 2018-02-23 23:20:18 · 330 阅读 · 0 评论 -
详解shell脚本(四)—— 基础进阶
调试脚本#! /bin/bashfunction DEBUG(){ [ "$_DEBUG"=="on" ] && $@ || :}for i in {1..10}do DEBUG echo $idone//调试_DEBUG=on ./script.sh把shebang从#! /bin/bash 改成 #!/bin/bash -xv,这样一来,不...原创 2018-02-23 22:59:57 · 336 阅读 · 0 评论 -
详解shell脚本(六)——tr和加密算法
用tr进行转换tr只能通过stdin(标准输入),而无法通过命令行参数来接受输入。它的调用格式如下: tr [options] set1 set2如果两个字符集的长度不相等,那么set2会不断重复其最后一个字符,直到长度与set1相同。如果set2的长度大于set1,那么在set2中超出set1长度的那部分字符则全部被忽略。ROT13加密算法echo "tr came, tr sa...原创 2018-02-23 23:17:57 · 738 阅读 · 0 评论 -
详解shell脚本(五)——玩转find查找
find查找#find命令有一个选项-iname会忽略字母的大小写find . \( -name "*.txt" -o -name "*.pdf" \) -print#\(以及\)会让中间的内容视为一个整体 -o 匹配多个条件中的一个find . ! -name "*.txt" -print #否定参数"!"基于目录深度的搜索find命令在使用时会遍历所有的子目录。我们可以...原创 2018-02-23 23:13:54 · 3281 阅读 · 0 评论 -
详解shell脚本(三)——基础篇下
数组和关联数组#打印数组长度echo ${#array_var[*]}#定义关联数组declare -A ass_arrayass_array=([index1]=val1 [index2]=val2)#赋值1ass_array[index1]=val1#赋值2echo ${!array_var[*]}#打印数组的索引使用别名#可以按照下面的方式创建一个别名alias ...原创 2018-02-23 22:51:20 · 195 阅读 · 0 评论 -
详解shell脚本(二)——基础篇中
关于变量的小技巧获得字符串长度 length=${#var}识别当前所使用的shell: echo SHELLechoSHELLechoSHELL echo 0UID可以检测是否为超级用户 $UID -ne 0 #root用户的UID是0修改bash提示字符串(username@hostname:~$) 我们可以利用PS1环境变量来定制提示文本。默认的sh...原创 2018-02-23 22:41:34 · 288 阅读 · 0 评论 -
详解shell脚本(十二)—— 进阶功能实现
压缩或解压缩JavaScript#filename: sample.jsfunction sign_out(){ $("#loading").show(); $.get("log_in",{logout:"True"}), function(){ window.location=""; });}下面是压缩JavaScript所需要完成的工作:...原创 2018-02-23 23:34:32 · 419 阅读 · 0 评论