linux脚本编程.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux脚本编程

在shell中常用的特殊符号罗列如下:# ; ;; . , / \ string| ! $ ${} $? $$ $* string* ** ? : ^ $# $@ `command`{} [] [[]]?() (()) || {xx,yy,zz,...}~ ~+ ~- \...\ + - %= == !=?# 井号 (comments) 注释字符 该句不会被执行~ 帐户的 home 目录 用户的home目录 如:cd ~; 分号 连续指令符号 如:cd ~/backup ; mkdir startup ; cp ~/.* startup/.;; 连续分号 (Terminator)?case语句中担任终结符?如:?case $fop inhelp) echo Usage: Command -help -version filename ;;version) echo version 0.1 ;;?esac. 逗号 1 .代表当前目录 ..代表上层目录 2 正则表达式中 .代表匹配一个字元string 单引号 括住部分将被视为单一字串 特殊字符失效string 双引号 括住部分将被视为单一字串 它防止通配符扩展但允许变量扩展 如 heyyou=homeecho $heyyou`command` 倒引号 括住部分为命令 命令执行, 逗点 分割功能 如 t=$((a=5+3,b=7-1,c=15/3))或者echo a=$a,b=$b,c=$c/ 斜线 1 根目录或目录分隔号 2 除号\ 倒斜线 1 特殊符号的作用消失 2 放在指令的最末端 表示指令连接下一行| 管道 连结上个指令的标准输出,做为下个指令的标准输入。?! 惊叹号 1 条件判断 逻辑否 如:!= 2 规则表达式 逻辑否 如:ls a[!0-9]: 冒号 1 内建指令:什么事都不干,但返回状态值 0 : 返回状态码0 : f.$$等同于cat /dev/null f.$$ : ${HOSTNAME?} ${USER?} ${MAIL?} 检查这些环境变数是否已设置,没有设置的将会以标准错误显示错误讯息 2 环境变量分割符 PATH=$PATH:$HOME/fbin:$HOME/fperl:/usr/local/mozilla? 问号 匹配一个任意的字元 如:# ls a?a1* 星号 1 在文件名扩展上用来代表任何字元 2 在运算时代表 乘法 如 expr 3 \* 4 3 ** 次方运算 如 let sus=2**3echo $ 钱号 1 变量代表符号 2 正则中表示行末另外 如 grep -E .$ 或sed s/\.$//g 或awk /\.$/${} 变量的正规表达式 bash中${}用法:${parameter:-word} ? ? ? ? ?parameter定义非空时,才不替换为word不赋值,否则替换但不赋值${parameter:=word} ? ? ? ? ?parameter定义非空时,才不替换不赋值;否则替换并赋值${parameter:?word} ? ? ? ? ?parameter若非真正的值,脚本退出 ?${parameter:+word} ? ? ? ? ?parameter若非真正的值,不替换不赋值;否则替换不赋值${parameter:offset} ? ? ? ? parameter从第offset位向右子串${parameter:offset:length} ?parameter从第offset位向右length长度的子串 ?${#parameter} ? ? ? ? ? ? ? parameter变量长度${parameter#word} ? ? ? ? ? 删除parameter最左端匹配第一个word${parameter##word} ? ? ? ? ?删除parameter中从左向右能匹配的最长word${parameter%word} ? ? ? ? ? 删除parameter最右端匹配第一个word${parameter%%word} ? ? ? ? ?删除parameter中从右向左能匹配的最长word${parameter/pattern/string} 以string替换parameter中最左端的pattern${parmeter//pattern/string} 以string替换所有parameter中的pattern$[digit]?1 $0指令本身为0,?2 $1其后依此类推 引用第几位变量但两位数以上,则必须使用{}括住 如${12}?3 $* 则是代表所有引用变量的符号 $*将所有的引用变量视为一个整体$@?$@代表所有引用变量 但符号 $@ 则仍旧保留每个引用变量的区段观念$? 状态值

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档