《shell脚本学习指南》机械工业出版 ISBN 987-7-111-25504-8

第2章

  2.4

  初级陷阱

    1.当今的系统,对#!这一行的长度限制从63到1024个字符都有,尽量不要超过64个字符。

    2.在某些系统上,命令行部分包含了命令的完整路径名称。不过有些系统却不是这样;命令行的部分会原封不动地传递给被引用的程序。

    3.别在选项之后放置任何空白,因为空白也会跟着选项一起传递给被引用的程序。

    4.你需要知道解释其的完整路径名称。这可以用来规避可移植问题,因为不同的厂商可能将同样的东西放在不同的地方。

    5.一些较旧的系统上,内核不具备解释#!的能力,有些shell会自动处理,这些shell对于#!与紧随其后的解释器名称之间是否可以有空白,可能有不同的解释。

  2.5.5

  •     tr

    tr [options] source-char-list replace-char-list

    用途:转换字符。例如,将大写字符转换成小写。选项可让你指定所要删除的字符,以及将遗传重复出现的字符浓缩成一个。

    常用选项:

      -c   取source-char-list的反义。tr要转换的字符,变成未列在source-char-list中的字符。此选项通常与-d或-s配合使用。

      -c  与-c相似,但所处理的是字符,而非二进制的字节值。

      -d  自标准输入删除source-char-list里所列的字符,而不是转换他们

      -s  浓缩重复的字符。如果标准输入中连续重复出现source-char-list里所列的字符,则将其浓缩成一个。

    特殊文件:/dev/null与/dev/tty

      /dev/null 位桶。传送到此文件的数据就会被系统丢掉。也就是说,当程序将数据写到次文件时,会认为它已完成写入数据的操作,但实际上什么都没做。

      /dev/tty 当程序打开此文件时,UNIX会自动将它重定向到一个终端再与程序结合。

笔记——shell脚本学习指南的更多相关文章

  1. 学习笔记之Shell脚本学习指南 & sed与awk & 正则表达式

    正则表达式_百度百科 http://baike.baidu.com/link?url=ybgDrN2WQQKN64_gu-diCqdeDqL8LQ-jiQ-ftzzPaNUa9CmgBRDNnyx50 ...

  2. Shell脚本学习指南笔记

    Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source C ...

  3. 转 shell脚本学习指南

    shell脚本学习指南 以下八点不敢说就能成为你shell脚本学习指南de全部,至少可以让你编写出可靠的shell脚本. 1. 指定bashshell 脚本的第一行,#!之后应该是什么?如果拿这个问题 ...

  4. 《Shell脚本学习指南》学习笔记之自定义函数

    Shell的函数在使用之前必须先定义,定义格式: [ function ] funname [()] { action; [return int;] } 可以带function fun()定义,也可以 ...

  5. 《Shell脚本学习指南》学习笔记之变量、判断和流程控制

    变量 定义变量 可以使用export和readonly来设置变量,export用于修改或打印环境变量,readonly则使得变量不得修改.语法: export name[=word] ... read ...

  6. 《shell脚本学习指南》学习笔记之入门

    为什么要使用shell脚本? shell脚本能够轻易处理文件与目录之类的对象,而且是各UNIX系统之间经过POSIX标准化的通用的功能,因此Shell脚本只要“用心写”一次,即可应用到很多系统上,因此 ...

  7. Shell脚本学习指南笔记(一)

    脚本语言通常是解释型的,这类程序的运行.是由解释器读入程序代码,并将其转换成内部的形式, 再执行,解释器本身是一般的编译型程序. 第一行的开头处使用#!这两个字符,当内核扫描到改行的其余部分,看是否存 ...

  8. shell脚本学习指南-学习(1)

    1.先看下面这个命令: $who  | wc  -l  计算当前登陆的用户个数: $who   当前登陆的有哪些用户: pipeling(   |  )可以在两个程序之间建立管道,左侧的结果成为右侧的 ...

  9. Shell脚本学习指南 [ 第三、四章 ] 查找与替换、文本处理工具

    摘要:第三章讨论的是编写Shell脚本时经常用到的两个基本操作.第四章总共介绍了约30种处理文本文件的好用工具. 第三章 查找与替换 概括:本章讨论的是编写Shell脚本时经常用到的两个基本操作:文本 ...

随机推荐

  1. jQuery插件(选项卡)

    使用选项卡插件可以将<ul>中的<li>选项定义为选项标题,在标题中,再使用<a>元素的“href”属性设置选项标题对应的内容,它的调用格式如下: $(select ...

  2. 如何使用的Ue4自带的SQLiteSupport

    在UE4.6版本加入的模块.可以让开发者使用SQLite数据库.SQlite是个轻量型的本地数据库. 我下面就来介绍一下如何使用这个模块. 第一步:下载SQLite源代码以及SQLite GUI管理工 ...

  3. 2016 Multi-University Training Contest 1 I. Solid Dominoes Tilings

    Solid Dominoes Tilings Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/O ...

  4. 《Invert》开发日志05:终止

    今天终于看了久闻大名的<独立游戏大电影>,然后我就做了一个坑爹的决定:终止“Invert”项目的开发.没错,在还没正式开工之前,我就决定停掉这个项目,而且是永久终止.做这个决定并不是因为觉 ...

  5. jQuery Live Query 插件

    http://www.cnblogs.com/sunjing/archive/2008/12/06/1349097.html 上篇日志里写到的那个问题其实有种更简单的解决办法,就是使用jquery的L ...

  6. ACM: SCU 4440 Rectangle - 暴力

     SCU 4440 Rectangle Time Limit:0MS     Memory Limit:0KB     64bit IO Format:%lld & %llu  Practic ...

  7. css选择器总结

    (一)选择器优先级: 不同级别 1. 在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式. 2.作为style属性写在元素内的样式 3.id选择器 4.类选择器 5.标签选择器 ...

  8. dev checkbox多选

    GridControl如果要支持多选,设置Options->OptionSeletion->MultiSelet为true就ok.

  9. c#操作mysql积累

    1,连接字符串 Server=localhost;port=;User ID=root;password=admin;database=;charset=utf8;Allow User Variabl ...

  10. ImageLoader

    配置ImageLoader 一般我们在使用ImageLoader的时候,需要在应用程序的入口进行它的一个配置,这个配置一般写到Application里边 * public void initImage ...