Linux C编程与Shell编程在开发实用工具方面的相同点总结
以whois包中的mkpasswd的源码mkpasswd.c文件为例,
两者都需要做的事情:
(1)在程序运行前需要满足其运行环境,包括声明需要使用哪些库哪些文件,例如C中的条件编译,Shell编程中的部分条件判断,如文件是否存在、是否可执行
(2)具备灵活性和可移植性:充分运用宏定义或全局变量(Shell专用),尽管C中许多宏定义不仅仅用于程序运行还用于程序移植,Shell中的许多全局变量也可用于脚本的移植
(3)都需要做参数(argument)声明:允许用户给程序传入那些参数,不允许用户传入那些参数;哪些参数是不可同时使用,哪些参数必须同时使用
(4)定义程序是否接受长选项(--sargv)
(5)对用户的输入做过滤判断处理,各种输入情况的判断处理、非法输入和特殊字符的处理
(6)控制用户使用逻辑和避免流程缺陷:保证用户输入不会超出程序设计预期,如输入(字符串长度、数字长度)溢出,保证流程流向并正确处理和结束
(7)与操作系统结合紧密:符合操作系统规范和操作系统哲学,如恰当的函数返回值、程序退出返回值、接受管道、区分stdin、stdout、stderr等
(8)函数调用或外部程序调用,需要捕获异常并处理异常,来自用户或系统的中断处理、信号处理
(9)执行核心方法前做好一切事情
(10)main函数尽可能的清晰精短、注意功能的拆分,保持函数原子性,尽可能的将函数复用,使用必要的缩进
(11)站在巨人的肩膀上,避免重复造轮子,使用并保持一致的编程风格
(12)程序运行完,擦好自己的屁股,程序运行前后充分与用户交互
(13)适当卖弄一下自己的编程技巧和编程艺术
(14)有时需要注意语言国际化问题
(15)声明协议、许可和较为详细注释、TODO,允许他人使用,改写,再创作等
(16)接受bug,留下自己的联系方式,哈哈!
tag:Linux C编程,Linux哲学,UNIX哲学,Linux shell编程,Linux编程思想
--end--
本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/1712280,如需转载请自行联系原作者
Linux C编程与Shell编程在开发实用工具方面的相同点总结相关推荐
- Linux知识点回顾之shell编程
Linux知识点回顾之shell编程 shell编程 1 基本介绍 1.1 Shell 脚本 1.2 Shell 环境 1.3 第一个shell编程 1.4 运行 Shell 脚本有两种方法: 1.5 ...
- Linux进阶之路———Shell 编程入门
引言 通过 Shell 编程的学习,铺平架构师道路上的一块大砖. Shell 在Linux 系统中的定位如下所示: 一.第一个 Shell 脚本 我们通过一个简单的 Shell 脚本来感受一下. 在 ...
- Linux高级命令和Shell编程
1.Linux高级命令 该章节的所有操作都在/export/data/shell目录进行,请提前创建该目录. mkdir -p /export/data/shell/ 1.1.重定向命令 1.重定向& ...
- 用linux下的C语言编程万年历,shell编程万年历月历和对应c语言程序.docx
shell编程万年历月历和对应c语言程序.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网 ...
- 第13章代码《跟老男孩学习Linux运维:Shell编程实战》
本书历史上已出版最实战的Shell高级编程实战书籍,没有之一,和市面书籍不同,本书是作者经过18年的运维工作及教学工作后,创新类企业级实战书籍,适合所有学习及从事Linux相关工作的读者. <跟 ...
- 【Linux系统管理】10 Shell 编程进阶篇
六 Shell 编程 6.1 正则表达式 6.1.1 概述 还记得我们在上一章说过正则表达式和通配符的区别(正则表达式用来在文件中匹配符合条件的字符串,通配符用来匹配符合条件的文件名)吗?其实这种区别 ...
- 《linux命令行与shell编程大全》--读书笔记
1.初识Linux shell 图片链接 2.走进shell 1.进入命令行,CLI(command line interface),也叫Linux控制台 通过Linux控制台终端访问CLI Ctrl ...
- 总结下linux中一些入门级shell编程实例
在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具.Shell不仅仅是命令的收集,而且是一门非常棒的编程语言.您可以通过使用shell使大量的任务自动化,shel ...
- Linux 命令行与shell编程 第10章 构建基本脚本
本章内容 构建基本脚本 使用多个命令 创建shell脚本文件 现在我们已经介绍了Linux系统和命令行的基础知识,可以开始编程了.本章讨论编写shell脚本的基础知识.在开始编写自己的shell脚本大 ...
- linux系列之-—01 shell编程笔记
一.特殊变量($0.$1.$2. $?. $# .$@. $*) shell编程中有一些特殊的变量可以使用.这些变量在脚本中可以作为全局变量来使用. 名称 说明 $0 脚本名称 $1-9 脚本执行时的 ...
最新文章
- Eclipse中用户库的使用
- 文件操作:fread()和fwrite()
- ITK:将itk :: Image转换为vtkImageData
- PyTorch基础-模型的保存和加载-09
- 接口调试利器:Postman
- 《DSP using MATLAB》Problem 6.20
- [算法导论]练习16.1-4 活动教室分配(区间着色问题)
- 汉仪尚巍手书有版权吗_为什么“汉仪尚巍手书”会大行天下?
- Xamarin.Android开发实践(十四)
- RC充放电网络的定量计算
- python-5 函数
- 北京/西安内推 | 中国移动研究院NLP组招收自然语言处理算法实习生
- Windows10中microsoft商店打不开解决办法
- 「python自学建议贴」Python学习路线+视频教程完整版
- Failed to read schema document 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd'问题解决方法
- 带南海九段线分位数地图可视化(R语言版)
- 华三 mstp-路由聚合-ospf-三层聚合 入门全套实验
- Go语言 - 并发控制
- 黑莓8800装不上软件的问题
- 基于JavaWeb的工厂仓库管理系统的设计与实现