Shell脚本学习笔记之(自动填充函数模板)
其实,vii 就是写的一个脚本,跟 vi 没半毛钱关系,只不过借用一下这个名字而已。那这个脚本长什么样呢?look:

下面来详细的解析上面的代码,来看第1行:
#!/bin/bash
这是Shell脚本的格式,没啥好讲的。
再来看第3-6行:
if [ $# -eq 0 ] then vi fi
这是是判断执行 vii 的时候带不带参数,假如不带参数,那么就直接启动 vi
再来看第8-16行:
if [ $# -eq 1 ] then suffix=`echo $1 | sed "s/\(.*\)\(\..\)$/\2/"` if [ $suffix != ".c" ] || [ -e $1 ] then vi $1 exit fi fi
这是在带且仅带一个参数的情况下,比如 vii hello.c 或者 vii hello.txt 的时候,判断文件的后缀suffix,如果后缀是不是 .c 或者文件本身已经存在,那么就直接用 vi 打开。否则,要创建的文件一定是一个不存在并且后缀是 .c 的文件,此时就可以进入下面的代码。
再来看第19-28行:
sample="/bin/sample.c" if [ ! -e $sample ] then echo "$sample is NOT exist" exit else cp $sample $1 vi $1 fi
sample.c 就是一个写好了头文件、main函数的程序框架模板,并放置到 /bin 下。直接将这个模板文件 cp 到当前目录,并用 vi 打开这个模板。
shell脚本视频资料
http://www.makeru.com.cn/live/3485_1489.html?s=45051
网盘资料由于网盘链接有时效性比较容易失效可以加个VX把网盘链接发一些,记得备注自己所需的资料的名字

Shell脚本学习笔记之(自动填充函数模板)的更多相关文章
- shell脚本学习笔记(符号)
shell脚本的学习: 1.Shell的作用是解释运行用户的命令,用户输入一条命令,Shell就解释运行一条,这样的方式称为交互式(Interactive),Shell还有 一种运行命令的方式称为批处 ...
- shell脚本学习笔记 (流编辑器sed)
sed意为流编辑器(Stream Editor),在Shell脚本和Makefile中作为过滤器使用很普遍,也就是把前一个程序的输出引入sed的输入,经过一系列编辑命令转换为另一种格式输出. sed不 ...
- shell脚本学习笔记
1.判断符号:中括号[ ] [ ]进行数据的判断,例如我想知道HOME这个变量是否为空,[ -z "$HOME" ],或者两个字符串是否相等,[ "$HOME" ...
- linux shell脚本学习笔记一
一.文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tm ...
- shell脚本学习笔记 (正則表達式)
正則表達式一般有三个部分组成,他们各自是:字符类,数量限定符,位置限定符. 规定一些特殊语法表示字符类.数 量限定符和位置关系,然后用这些特殊语法和普通字符一起表示一个模式,这就是正則表達式(Regu ...
- Shell脚本学习指南笔记
Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source C ...
- 笔记——shell脚本学习指南
<shell脚本学习指南>机械工业出版 ISBN 987-7-111-25504-8 第2章 2.4 初级陷阱 1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超 ...
- 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式
正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...
- thinkphp学习笔记9—自动加载
原文:thinkphp学习笔记9-自动加载 1.命名空间自动加载 在3.2版本中不需要手动加载类库文件,可以很方便的完成自动加载. 系统可以根据类的命名空间自动定位到类库文件,例如定义了一个类Org\ ...
随机推荐
- 技术栈:springboot2.x,vue,activiti5.22,mysql,带工作流系统
前言 activiti工作流,企业erp.oa.hr.crm等审批系统轻松落地,请假审批demo从流程绘制到审批结束实例. 一.项目形式 springboot+vue+activiti集成了activ ...
- java.lang.NullPointerException: Attempt to invoke virtual method 'int com.example.xxx.Json.NewsBean.getError_code()' on a null object reference错误解决
AS在运行的过程中出现了错误: java.lang.NullPointerException: Attempt to invoke virtual method 'int com.example.xx ...
- 迷你商城后端管理系统 ———— stage2 项目的核心代码实现
应用程序主函数接口 @SpringBootApplication(scanBasePackages = {"org.linlinjava.litemall.db", "o ...
- supermvc 操作备要
模板暂时仅支持smarty,需要指定模板文件 系统配置文件在supermvc文件夹下 sconfig.php 修改项目目录下的conf下的config.php 会覆盖系统默认配置 contro ...
- ✔PHP文件包含漏洞全面总结
我的另一篇博客总结的不够全面,但依然有借鉴价值:https://www.cnblogs.com/Zeker62/p/15192610.html 目录 文件包含的定义 文件包含漏洞常见函数 文件包含漏洞 ...
- Jmeter系列(6)- 分析源码,创建登录、浏览商品接口请求
前言简介 接口的压力测试有个二八原则:线上80%的用户量在一天24小时20%(即4.8个小时)的时间里可以平稳运行,这个接口就算是通过压力测试了 源码分析 登录 浏览商品 创建请求 登录 浏览菜单 C ...
- Loj#116-[模板]有源汇有上下界最大流
正题 题目链接:https://loj.ac/p/116 题目大意 \(n\)个点\(m\)条边的一张图,每条边有流量上下限制,求源点到汇点的最大流. 解题思路 先别急着求上面那个,考虑一下怎么求无源 ...
- YbtOJ#482-爬上山顶【凸壳,链表】
正题 题目链接:https://www.ybtoj.com.cn/contest/116/problem/2 题目大意 \(n\)个点,\(x\)坐标递增,第\(i\)个点向第\(j\)个点连边. 开 ...
- NOIP 模拟七 考试总结
T1匹配 签到大水题,这里有hash,kmp,ac自动机,还有后缀数组,后缀自动机任您挑选. 不过这个数据范围有些坑啊,re就很不爽.做法我还是比较倾向hash的,毕竟不论神魔字符算法,hash大都能 ...
- Go的Select
Go 的通道有两种操作方式,一种是带 range 子句的 for 语句,另一种则是 select 语句,它是专门为了操作通道而存在的.这里主要介绍 select 的用法. 一.select的语法 se ...