查看“Shell编程”的源代码
←
Shell编程
跳转至:
导航
、
搜索
因为以下原因,你没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看并复制此页面的源代码:
== shell概述 == shell是一种高级程序设计语言 ===shell的特点=== * 组合命令成为心的命令 * 允许灵活使用数据流,提供通配符、输入输出重定向、管道等机制 * 结构化程序设计 * 提供可配置的环境 ===shell的主要版本=== csh/ksh/bash/ash/zsh,主流:bash ===基本的bash shell脚本示例=== <nowiki> #!/bin/bash # very simple bash script date pwd cd </nowiki> shell脚本的文件扩展名通常为.sh,并具有可执行权限。 其中#!/bin/bash是必须的,表示调用/bin/bash解释下面的shell命令。 其中#开头的行为注释 ===shell脚本的执行=== * sh ./test.sh * chmod +x ./test.sh; ./test.sh == shell中的特殊字符 == === 通配符 === * *,圆点和路径符号必须显式匹配 * ? * [字符组],比如f[abcd]匹配fa,fb,fc,fd,f[a-d],f[1-9] * !,比如f[!1-9] ==== 模式表达式 ==== 可以包含多个通配符,并支持扩展模式匹配: * *(模式表),比如file*(.c|.o)匹配file,file.c,file.c.c,file.c.o,file.o.c,file.o.o等,不匹配file.h * +(模式表),比如file+(.c|.o)匹配file.c,file.o,file.c.o,file.c.c等,但是不匹配file * ?(模式表),file?(.c|.o)匹配file,file.c,file.o,不匹配file.c.o * @(模式表),file@(.c|.o)匹配file.c,file.o,不匹配file,file.c.c等 * !(模式表),file!(.c|.o)匹配file,file.a,不匹配file.c,file.o === 引号 === ==== 双引号 ==== 由双引号括起来的字符均作为普通字符对待,$,`,\三个字符除外: * $表示变量替换 * `表示命令替换 * \表示转义字符,通常用于显示特殊字符$\."'等,比如:echo "filename is \"$HOME\"\$*"的结果是:filename is "/home/subaochen"$* 需要注意的是:'''双引号中的单引号是普通字符'''。 例子: <nowiki> echo "current directory is `pwd`" echo "home directory is $HOME" echo "file*.?" echo "directory '$HOME'" </nowiki> ==== 单引号 ==== 单引号括起来的字符都是普通字符,不进行变量替换和命令替换,比如: <nowiki> echo 'home directory is $HOME' </nowiki> 并不进行变量替换。同理也适应于命令替换。 ==== 倒引号 ==== 命令替换,比如: <nowiki> echo `pwd` echo `date` </nowiki> === 输入输出重定向符 === 执行一个shell命令时,自动打开三个标准设备文件:标准输入stdin、标准输出stdout、标注出错stderr ==== 输入重定向符< ==== 把标准输入设备重新定向到文件,标准用法: <nowiki> [n]<file </nowiki> 即,将文件描述字为n的设备重定向到file,如果n省略则默认为标准输入设备(n=0)。 ==== 输出重定向符> ==== 把脚本或者程序的执行结果写入指定的文件(重定向到文件) <nowiki> $ who > who.txt $ cat who.txt </nowiki> ==== 输出附加重定向>> ==== 把命令的输出结果追加到指定文件的末尾 ==== 与文件描述字有关的重定向 ==== === 注释、管道、后台命令符 === === 命令执行操作符 === === 成组命令 === == shell变量 == == shell控制结构 == === if语句 === === 条件测试 === === while语句 === == shell函数 == == 作业控制 == == shell内置命令 == == shell脚本调试技术 ==
返回至
Shell编程
。
导航菜单
个人工具
登录
命名空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
Linux
Java
PHP
Android
ios
数据库
大数据
前端技术
基础知识
辅助技术
其他热点
git仓库
项目管理
团队博客
最近更改
帮助
实验室管理
相关制度
成长之路
全家福
学术杂谈
学术工具
我的兴趣
架构之美
教育教学
我的课程
软件综合实训
讲座
电子商务
电商平台开发
电商资料
成功案例
鲁泰在线
济南铁路局供电检测系统
工具
链入页面
相关更改
特殊页面
页面信息
MediaWiki spam
blocked by CleanTalk.