SHELL脚本入门篇——符号
2016-08-08 17:24
323 查看
shell基础知识
shell脚本与Windows/Dos下的批处理相似,都是将各类命令预先放入到一个程序文件,主要方便管理员进行设置和管理用的。但shell脚本比Windows下的批处理更强大。
shell脚本第一句开头为#!,注释为在需注释的行前面加上#
shell和shell脚本的区别?
shell是一个命令行解释器,本身是一个用c语言编写的程序,是用户使用Linux的桥梁,他的作用是遵循一定的语法将输入的命令加以解释并传给系统。而shell脚本是根据shell编写的一个纯文本文件,将一些shell指令写在里面,然后用bash或sh告诉shell执行脚本文件。
shell执行指令的过程
shell在执行指令的时候,需要判断命令是内置命令还是外部命令,内置命令直接执行,当为外部命令时,shell为指令开辟一个子进程,然后进程程序替换,父进程等待子进程退出。
shell 脚本执行指令的过程
在执行shell脚本的每一条指令也都需要判断命令是否是内置命令,若为内置命令则直接在当前的进程内执行,否则开辟子进程,当前进程等待子进程的退出,后面的所有命令类似。
常用内指命令echo, eval, exec, export, readonly, read, shift, wait和点(.)
具体内容参考此博客
这里写链接内容
shell变量
shell中变量分为本地变量和环境变量,环境变量是任何进程都有的概念,本地变量是shell特有的概念,本地变量只存在当前shell进程。
env | grep 变量名 查看环境变量
set | grep 变量名 查看变量
export 变量名 可以将本地变量转换为环境变量
unset 变量名 删除已定义的变量
![](http://img.blog.csdn.net/20160808163341730)
![](http://img.blog.csdn.net/20160808163349949)
在使用变量时,将变量用{}包起来,也可在不引起歧义的情况下直接使用
echo 变量名echo{变量名}
![](http://img.blog.csdn.net/20160808164053506)
shell中所有的变量均是字符串类型的,使用未定义的变量,则该值为空。
文件名替换:
通配符:,例:rm -rf .c,所有以.c结尾的文件都被删除
?匹配一个任意字符,例:rm -f test?.c 所有test后只有一个字符的test?.c文件均被删除
[若干字符]:匹配方括号中任意一个字符的一次出现。例:test[56];结果为test[5],test[6],例:rm -rf test[0-9]
单引号和双引号
单引号中的字符仅仅是字面值,双引号中的字符在运行时会对字符进行解析。
![](http://img.blog.csdn.net/20160808165610666)
*转义字符*
和c语言类似,\在shell中被用作转义字符,用于去除紧跟其后的单个字符的特殊意义(回车除外)。
例如创建一个$$文件
![](http://img.blog.csdn.net/20160808170536273)
有时候\也不能避免因为特殊字符创建文件失败,例如创建-fiel文件,只能采取下面两种方法
![](http://img.blog.csdn.net/20160808170545592)
有两个命令可以让shell先执行该命令,分别为反引号`和$()
![](http://img.blog.csdn.net/20160808171859385)
$(())可以进行算术代换,但仅仅只能用于+-*/和(),并且只能用于整数
shell脚本与Windows/Dos下的批处理相似,都是将各类命令预先放入到一个程序文件,主要方便管理员进行设置和管理用的。但shell脚本比Windows下的批处理更强大。
shell脚本第一句开头为#!,注释为在需注释的行前面加上#
shell和shell脚本的区别?
shell是一个命令行解释器,本身是一个用c语言编写的程序,是用户使用Linux的桥梁,他的作用是遵循一定的语法将输入的命令加以解释并传给系统。而shell脚本是根据shell编写的一个纯文本文件,将一些shell指令写在里面,然后用bash或sh告诉shell执行脚本文件。
shell执行指令的过程
shell在执行指令的时候,需要判断命令是内置命令还是外部命令,内置命令直接执行,当为外部命令时,shell为指令开辟一个子进程,然后进程程序替换,父进程等待子进程退出。
shell 脚本执行指令的过程
在执行shell脚本的每一条指令也都需要判断命令是否是内置命令,若为内置命令则直接在当前的进程内执行,否则开辟子进程,当前进程等待子进程的退出,后面的所有命令类似。
常用内指命令echo, eval, exec, export, readonly, read, shift, wait和点(.)
具体内容参考此博客
这里写链接内容
shell变量
shell中变量分为本地变量和环境变量,环境变量是任何进程都有的概念,本地变量是shell特有的概念,本地变量只存在当前shell进程。
env | grep 变量名 查看环境变量
set | grep 变量名 查看变量
export 变量名 可以将本地变量转换为环境变量
unset 变量名 删除已定义的变量
在使用变量时,将变量用{}包起来,也可在不引起歧义的情况下直接使用
echo 变量名echo{变量名}
shell中所有的变量均是字符串类型的,使用未定义的变量,则该值为空。
文件名替换:
通配符:,例:rm -rf .c,所有以.c结尾的文件都被删除
?匹配一个任意字符,例:rm -f test?.c 所有test后只有一个字符的test?.c文件均被删除
[若干字符]:匹配方括号中任意一个字符的一次出现。例:test[56];结果为test[5],test[6],例:rm -rf test[0-9]
单引号和双引号
单引号中的字符仅仅是字面值,双引号中的字符在运行时会对字符进行解析。
*转义字符*
和c语言类似,\在shell中被用作转义字符,用于去除紧跟其后的单个字符的特殊意义(回车除外)。
例如创建一个$$文件
有时候\也不能避免因为特殊字符创建文件失败,例如创建-fiel文件,只能采取下面两种方法
有两个命令可以让shell先执行该命令,分别为反引号`和$()
$(())可以进行算术代换,但仅仅只能用于+-*/和(),并且只能用于整数
相关文章推荐
- shell脚本入门---$ 相关符号篇
- shell脚本 入门 —— 符号篇
- shell脚本 入门 —— 符号篇
- 【脚本学习】shell脚本入门-符号篇
- shell脚本入门-符号篇
- shell脚本中的特殊符号
- Linux bash shell脚本语法入门(转)
- shell入门-特殊符号
- shell脚本中一些特殊符号
- Linux: shell 脚本入门
- Shell入门之脚本管理学习笔记
- shell脚本 符号 `` 和$()的对比 及eval命令
- Shell脚本入门(三) - 变量
- shell脚本编程30分钟入门上手
- Shell脚本入门(四) - 读取键盘输入
- Shell脚本入门-2
- Shell脚本入门(九) - 循环控制语句:for in
- shell 脚本入门--基础1
- [linux-shell]那些shell脚本中的符号: $0,$1,$(),${},$#,$?
- Linux编写Shell脚本入门