Shell编程<一>
来源:互联网 发布:linux diff 命令 编辑:程序博客网 时间:2024/06/15 13:29
1,内部参数
$# :传入脚本的命令行参数个数
$* :所有命令行参数值,在各个参数值之间留有空格
$0 :命令 本 身 ( shell 文 件 名)
$1 :第 一 个 命令 行 参数
$2 :第二 个 命令 行参数
$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$- ----在Shell启动或使用set命令时提供选项
$! ----上一个子进程的进程号
$@ ----所有的参数,每个都用双括号括起
$n ----位置参数值,n表示位置
比较操作整数操作字符串操作
相同 -eq =
不同 -ne !=
大于 -gt >
小于 -lt <
大于或等于-ge
小于或等于-le
为空 -z
不为空 -n
判断
-e文件已经存在
-f 文件是普通文件
-s 文件大小不为零
-d 文件是一个目录
-r 文件对当前用户可以读取
-w 文件对当前用户可以写入
-x 文件对当前用户可以执行
#!/bin/sh
folder=/home
[ -r "$folder" ] && echo "Can read $fol# &&前面的表达式为真则执行后面的表达式
[ -f "$folder" ] || echo "this is not file"# ||前面的表达式为假则执行后面的表达式
2,特殊设置
readonly 变量名
有时我们想要在说明一个变量并对它设置为一个特定值后就不在改变它的值时,可以用下面的命令来保证一个变量的只读性:单独执行readonly可以显示所有的只读变量。
export 变量名
在任何时候,创建的变量都只是当前Shell的局部变量,所以不能被Shell运行的其他命令或Shell程序所利用,而export命令可以将一个局部变量提供给Shell执行的其他命令使用,也可以在给变量赋值的同时使用export命令(export 变量名=变量值)。使用export说明的变量,在Shell以后运行的所有命令或程序中都可以访问到。
3,内部命令
bash命令解释套装程序包含了一些内部命令。内部命令在目录列表时是看不见的,它们由Shell本身提供。常用的内部命令有:echo, eval, exec, export, readonly, read, shift, wait和点(.)。下面简单介绍其命令格式和功能。
1.echo
命令格式:echo arg
功能:在屏幕上显示出由arg指定的字串。
2.eval
命令格式:eval args
功能:当Shell程序执行到eval语句时,Shell读入参数args,并将它们组合成一个新的命令,然后执行。
3.exec
命令格式:exec命令参数
功能:当Shell执行到exec语句时,不会去创建新的子进程,而是转去执行指定的命令,当指定的命令执行完时,该进程(也就是最初的Shell)就终止了,所以Shell程序中exec后面的语句将不再被执行。
4.export
命令格式:export变量名或:export变量名=变量值
功能:Shell可以用export把它的变量向下带入子Shell,从而让子进程继承父进程中的环境变量。但子Shell不能用export把它的变量向上带入父Shell。
注意:不带任何变量名的export语句将显示出当前所有的export变量。
5.readonly
命令格式:readonly变量名
功能:将一个用户定义的Shell变量标识为不可变。不带任何参数的readonly命令将显示出所有只读的Shell变量。
6.read
命令格式:read变量名表
功能:从标准输入设备读入一行,分解成若干字,赋值给Shell程序内部定义的变量。
7.shift语句
功能:shift语句按如下方式重新命名所有的位置参数变量,即$2成为$1,$3成为$2…在程序中每使用一次shift语句,都使所有的位置参数依次向左移动一个位置,并使位置参数$#减1,直到减到0为止。
8.wait
功能:使Shell等待在后台启动的所有子进程结束。wait的返回值总是真。
9.exit
功能:退出Shell程序。在exit之后可有选择地指定一个数位作为返回状态。
10.“.”(点)
命令格式:. Shell程序文件名
功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句。
- shell编程一:初识shell
- shell编程笔记一
- shell编程 一
- shell编程读书笔记一
- shell 编程--<一>
- shell编程基础【一】
- shell编程一
- Shell编程<一>
- shell编程(一)
- shell 编程(一)
- Linux Shell编程一
- shell编程学习一
- shell编程笔记一
- Shell编程(一)
- shell脚本编程(一)
- shell 编程(一)
- shell编程(一)
- Shell编程<一>
- HTML5属性解释与规定
- Spring 3.0 发布包详解
- c++之string
- Facebook员工应该正确看待手中的股票!
- Oracle查询表、视图、序列等信息查询
- Shell编程<一>
- IOS UISplitViewController之 添加启动密码
- 不可变的String
- 线程安全原理
- 大二学习计划
- ubuntu12.04和deepin12.06使用root账户登录
- Oracle常用命令--备忘
- BackboneJS学习笔记一
- 判断表是否存在当前数据库中