• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >linux shell > shell脚本学习指南[六](Arnold Robbins & Nelson H.F. Beebe著)

shell脚本学习指南[六](Arnold Robbins & Nelson H.F. Beebe著)

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了shell脚本学习指南[六](Arnold Robbins & Nelson H.F. Beebe著)等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

学shell到现在了,一直以为自己不会犯一个大家常说的非常二的问题,结果这本书最后的时候犯了个十分2的事,晚节不保啊!!!我在测试文件路径下除了通配符*和?外还能用啥正则那样的东西,结果就在$HOME下执行了rm .* 。。。好吧,蛋疼了一下午!还木找回任何一个配置文件。警示后人,千万别使用rm试通配符!任何时候小心使用rm!


第十四章shell可移植性议题和扩展


可以先通读这篇文章。
想写出好的可移植性shell,不仅要了解各种shell版本间的差异,还要有很多编程技巧,比如尽量从环境变量中获取需要的信息等。

第十五章安全的shell脚本:起点


安全性shell脚本的提示:
1、不要将当前目录(点号)置于PATH下。可执行程序应该只能放在标准的系统目录下,将当前目录放在PATH里,无疑是打开特洛伊木马(Trojan Horse)的大门。
2、为bin目录设置保护。确认$PATH下的每一个目录都只有它的拥有者可以写入,其余任何人都不能。用样的道理也应该应用于bin目录里所有的程序。
3、写程序前,先想清除。花点时间想想你要做什么,该如何实行。不要一开始就在文字编辑器上写。错误与失败的优雅处理也应该设计在程序里。
4、应对所有输入参数检查其有效性。如果期待的是数字,那就验证它是数字,并且是否在要求的范围内。其他的需要也是这样检测。
5、对所有可返回错误的命令,检查错误处理代码。不在你预期内的失败情况,很可能是有问题的强迫失败,导致脚本出现不当的行为。例如,如果参数为NFS加载磁盘或面向字符的设备文件时,即便是以root的身份执行,也可能导致有些命令失败。
6、不要信任传进来的环境变量。如果它们被接下来的命令(如TZ、PATH、IFS等)使用时,请检查并重设为已知的值。无论在什么情况下,最好的方式就是明确的设置自己需要的(如PATH只包含系统bin目录,设置IFS为空格定位符和换行)。
7、从已知的地方开始。在脚本开始时,确切cd到已知目录,这么一来,接下来任何相对路径名称才能指到已知位置。确认cd操作成功:cd app-dir || exit 1
8、使用syslog(8)保留审计跟踪。记录引用的日期与时间、username等,参见logger(1)的使用手册。如果没有logger,可建立一个函数保留日志文件:

这段代码使用了许多非POSIX的扩展,需要注意。

该书最后给出了如何编写自己的shell程序的manual,和unix的文件和文件系统的介绍。至此该书通读完毕。

</div>

您可能想查找下面的文章:

相关文章

  • Linux中删除文件内空行的4种方法
  • Shell脚本中的位置变量参数(特殊字符)实例讲解
  • 一句话Shell命令关闭不需要的随机启动服务
  • CentOS 6.0 启动时出现fstab错误时的修复方法
  • 实现MySQL定时批量检查表repair和优化表optimize table的shell脚本
  • 自动杀掉占用较多CPU资源的Shell脚本
  • Linux shell实现每天定时备份mysql数据库
  • shell遍历目录处理特定目录的脚本代码
  • Formatting Long Lines 格式化多行字符的shell脚本
  • linux系统下hosts文件详解及配置

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 浅谈ctrl+c,ctrl+d,ctrl+z在linux中的意义
    • centos中mysql备份数据库脚本分享
    • linux shell 管道命令(pipe)使用及与shell重定向区别
    • C语言实现的ls命令源码分享
    • Linux下Tomcat启动正常,但浏览器无法访问的解决方法
    • Linux rpm 命令参数使用详解
    • shell脚本正则匹配文件中的Email并写入到文件中代码分享
    • 一天一个shell命令 linux文本内容操作系列-awk命令详解
    • 比较两个字符串是否相等的shell代码
    • shell脚本实现批量测试局域网主机是否在线

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有