shell编程总结
来源:互联网 发布:excel数据上下颠倒 编辑:程序博客网 时间:2024/05/22 08:25
一,执行shell程序文件有三种方法
(1)#sh file
(2)# . file
(3)#source file
shell常用的系统变量
$ # :保存程序命令行参数的数目
$ ? :保存前一个命令的返回码
$ 0 :保存程序名
$ * :以("$1 $2...")的形式保存所有输入的命令行参数
$ @ :以("$1""$2"...)的形式保存所有输入的命令行参数
二,shell函数介绍
Shell中引用其他文件:
Shell使用source引用其他文件,这类似于C语言中的include。
source file_path_name
这样可以把函数定义在一个文件中,在另外一个文件中调用这个文件中的函数。
Shell中函数的定义:
格式1、
function fun()
{
command
}
格式2
function fun
{
command
}
Shell中函数的调用:
funname 参数1 参数2 ... 参数n
没有参数时调用: funname
Shell中参数传递:
在函数中使用:$#获取参数的个数;
在函数中使用:$@和$*获取参数内容;
在函数中使用:$1, $2, ... $(n)获取第一个参数,第二个参数等
在函数中获取函数参数的方法,和调用shell脚本的参数是一样的。
Shell中函数的返回值:
在shell中,函数的返回值,即return返回值,存在在$?内置变量,
可以使用$?,获取函数返回值。
全局变量:
在shell中定义函数后,函数会与返回值,但是有时候返回值是一个列表,可以用全局变量返回:
export global_value_name=""
function test_fun()
{
global_value_name='abc edf aaa'
}
echo global_value_name
三:if表达式介绍
条件表达式
文件表达式
if [ -f file ] 如果文件存在
if [ -d ... ] 如果目录存在
if [ -s file ] 如果文件存在且非空
if [ -r file ] 如果文件存在且可读
if [ -w file ] 如果文件存在且可写
if [ -x file ] 如果文件存在且可执行
整数变量表达式
if [ int1 -eq int2 ] 如果int1等于int2
if [ int1 -ne int2 ] 如果不等于
if [ int1 -ge int2 ] 如果>=
if [ int1 -gt int2 ] 如果>
if [ int1 -le int2 ] 如果<=
if [ int1 -lt int2 ] 如果<
字符串变量表达式
If [ $a = $b ] 如果string1等于string2
字符串允许使用赋值号做等号
if [ $string1 != $string2 ] 如果string1不等于string2
if [ -n $string ] 如果string 非空(非0),返回0(true)
if [ -z $string ] 如果string 为空
if [ $sting ] 如果string 非空,返回0 (和-n类似)
(1)#sh file
(2)# . file
(3)#source file
shell常用的系统变量
$ # :保存程序命令行参数的数目
$ ? :保存前一个命令的返回码
$ 0 :保存程序名
$ * :以("$1 $2...")的形式保存所有输入的命令行参数
$ @ :以("$1""$2"...)的形式保存所有输入的命令行参数
二,shell函数介绍
Shell中引用其他文件:
Shell使用source引用其他文件,这类似于C语言中的include。
source file_path_name
这样可以把函数定义在一个文件中,在另外一个文件中调用这个文件中的函数。
Shell中函数的定义:
格式1、
function fun()
{
command
}
格式2
function fun
{
command
}
Shell中函数的调用:
funname 参数1 参数2 ... 参数n
没有参数时调用: funname
Shell中参数传递:
在函数中使用:$#获取参数的个数;
在函数中使用:$@和$*获取参数内容;
在函数中使用:$1, $2, ... $(n)获取第一个参数,第二个参数等
在函数中获取函数参数的方法,和调用shell脚本的参数是一样的。
Shell中函数的返回值:
在shell中,函数的返回值,即return返回值,存在在$?内置变量,
可以使用$?,获取函数返回值。
全局变量:
在shell中定义函数后,函数会与返回值,但是有时候返回值是一个列表,可以用全局变量返回:
export global_value_name=""
function test_fun()
{
global_value_name='abc edf aaa'
}
echo global_value_name
三:if表达式介绍
条件表达式
文件表达式
if [ -f file ] 如果文件存在
if [ -d ... ] 如果目录存在
if [ -s file ] 如果文件存在且非空
if [ -r file ] 如果文件存在且可读
if [ -w file ] 如果文件存在且可写
if [ -x file ] 如果文件存在且可执行
整数变量表达式
if [ int1 -eq int2 ] 如果int1等于int2
if [ int1 -ne int2 ] 如果不等于
if [ int1 -ge int2 ] 如果>=
if [ int1 -gt int2 ] 如果>
if [ int1 -le int2 ] 如果<=
if [ int1 -lt int2 ] 如果<
字符串变量表达式
If [ $a = $b ] 如果string1等于string2
字符串允许使用赋值号做等号
if [ $string1 != $string2 ] 如果string1不等于string2
if [ -n $string ] 如果string 非空(非0),返回0(true)
if [ -z $string ] 如果string 为空
if [ $sting ] 如果string 非空,返回0 (和-n类似)
0 0
- [shell]shell编程基础知识总结
- Shell编程总结
- linux shell编程总结
- UNIX Shell编程总结
- shell编程基础-总结
- Shell编程技巧总结
- Shell编程学习总结
- Shell 编程 总结
- 01.Shell编程总结
- shell编程比较总结
- shell脚本编程总结
- shell编程总结
- Shell 编程学习总结
- shell编程总结
- shell编程总结
- shell编程自我总结
- shell编程入门总结
- Shell编程之Shell变量学习总结
- TOMCAT启动完成但是ECLIPSE仍然显示starting....
- 直方图的均衡、直方图的反向投影算法,opencv鼠标和键盘处理事件
- iOS-浅谈runtime运行时机制02-runtime简单使用
- [你必须知道的异步编程]C# 5.0 新特性——Async和Await使异步编程更简单
- hdu4046 不错的线段树单点更新
- shell编程总结
- 八一八C语言中那些稀奇古怪的类型!
- Image 相关的类
- IsWow64并不能用来检测是否是Windows 32bit系统还是64bit系统
- 如果此程序没有正确安装,请选用与此版本兼容的设置重新安装”C#程序的解决办法
- Android CTS兼容性测试
- Qt For Android
- debian修改apt-get安装源
- 正则表达式30分钟入门教程