摘自《Linux与unix shell编程指南》】的更多相关文章

找到一本很详细的Linux Shell脚本教程,其实里面不光讲了Shell脚本编程,还介绍了系统的各种命令 http://vdisk.weibo.com/s/yVBlEojGMQMpv 本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题.本书内容全面.文字简洁流畅,适合Shell编程人员学习.参考. 目      录 译者序 前言 第一部分   shell 第1章   文件安全与权限 1 1.1   文件 1 1.2   文件…
第一章    文件安全与权限 文件访问方式:读,写,执行.     针对用户:文件属主,同组用户,其它用户.     文件权限位最前面的字符代表文件类型,常用的如         d 目录:l 符号链接:p 命名管道文件:- 普通文件 ...     用chmod改变文件权限位的设置:         chmod [who] operator [permission] filename         who: u 属主:g 同组:o 其它:         operator:+ 增加权限:-…
shift运行后,$#随之减少:如果需要知道命令行中输入的最后一个参数(通常是一个文件名),可以有两种选择:使用命令 eval echo \$$#;使用shift命令:shift 'expr $# - 2'. getopts 选项字符串 名称 [参数表]每次使用时,getopts 都会把下一个选项放在shell变量名称中(如果名称不存在就初始化它),并把下一个要处理的参数的下标放在变量 OPTIND 中.如果某个选项需要参数,getopts 就把该参数放在变量 OPTARG 中.Shell不会自…
第14章 环境和shell变量 1.使用变量时,尽量用花括号将之括起来,防止shell误解变量值. 2.设置变量时的不同模式 variable-name=value 设置实际值到variable-name variable-name+value 如果设置了variable-name,则重设其值 variable-name:?value 如果未设置variable-name,显示未定义用户错误信息 variable-name?value 如果未设置variable-name,显示系统错误信息 va…
第二十五章 深入讨论 << 当shell 看到 << 的时候,它知道下一个词是一个分界符.该分界符后面的内容都被当做输入,直到shell又看到该分界符(位于单独的一行).比方: cat >> tmpfile <<DOC > this is the first line > this is the second line > third > forth >..... >DOC 当中DOC就是分界符,再次在新的行中输入DOC时…
第十六章  shell脚本介绍 此章节内容较为简单,跳过. 第十七章   条件測试 test命令 expr命令 test  格式  test  condition     或者  [ condition ]  (注意: condition两側有空格) 文件状态測试: - d 文件夹 . - s 文件长度大于0.非空 : - f 正规文件 - w 可写 . - L 符号连接 : - u 文件有s u i d位设置 - r 可读 : - x 可运行 測试的逻辑操作符: -a   :逻辑与.操作符两边…
第十三章  登陆环境 登陆系统时.输入username和password后.假设验证通过.则进入登录环境. 登录过程 文件/etc/passwd $HOME.profile 定制$HOME.profile /etc/passwd 文件解析(抽取当中的一行作为演示样例): 1 2 3 4 5 6 7 root: x: 0: 0: root: /root: /bin/bash 第 1 域 : 登录名 第 2 域 : 加密后的password 第 3 域 : 用户标识号(用于系统内部区分用户,假设多个…
第七章  正則表達式介绍 匹配行首与行尾 匹配数据集 职匹配字母和数字 句点 "." 匹配随意单字符. ^,在行首 匹配字符串或字符序列,如查询当前文件夹下的全部文件夹: ls -l | grep "^d" 在行尾以 "$"匹配字符串或字符  , 匹配全部以sh结尾的行: sh$ 匹配全部的空行: ^$ 使用*匹配字符串中单字符或反复序列: skdf*jl 使用 \ 转义特殊字符的含义: 特殊字符:   $  .   ''  '   *  [  …
转自:http://my.oschina.net/itblog/blog/204410 1 语法基本介绍1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序.  当编辑好脚本时,如果要执行该脚本,还必须使其可执行.  要使脚本可执行: 编译 chmod +x filename 这样才能用./filename 来运行 1.2 注释  在进行shell编程时,以#开头的…
if 语句 if 表达式如果条件命令组为真,则执行 then 后的部分.标准形式: if 判断命令,可以有很多个,真假取最后的返回值 then 如果前述为真做什么 [ # 方括号代表可选,别真打进去了! elif 可以再来个判断,如果签名为假继续尝试这里 then 如果前述为真做什么 ] else 如果全都不行做什么 fi # 结束,就是倒写的 if 啦. 现实生活中一般判断只有一个命令,所以你看到的一般是: if ....; then # 你也可以写成 if 之后换行,这样就不用分号了. ..…