Shell编程学习汇总.docx
- 文档编号:9624263
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:8
- 大小:16.39KB
Shell编程学习汇总.docx
《Shell编程学习汇总.docx》由会员分享,可在线阅读,更多相关《Shell编程学习汇总.docx(8页珍藏版)》请在冰豆网上搜索。
Shell编程学习汇总
Shell编程学习
一、shell脚本简介
1、什么是shell?
命令行解释器
2、什么叫shell脚本?
shell命令的有序集合
二、如何运行一个shell脚本?
方法1:
1、建立xx.sh文件
2、赋予文件执行权限
3、执行脚本文件
例如:
vitest.sh
chmod777test.sh
./test.sh
方法2:
1、建立xx.sh文件
2、bash+xx.sh
三、shell变量
(1)用户自定义变量
特点:
(1)我们shell不支持数据类型,他将任意赋值给变量的数据当作字符串来处理
(2)我们定义变量的时候,不需要给钱($),我们输出的是需要给钱
(3)我们定义变量的时候,=两边不能有空格
(4)在shell中引用变量必须要加$或者${变量名}
练习2:
1、获取当前用户在/etc/passwd中的行号,用一个变量line保存
2、根据这个变量line,获取当前用户在/etc/passwd中的
NAME:
UID:
PID(1,3,4)
(2)位置变量
$0:
shell脚本的名字
$1-$9:
第一个到第九个命令行参数,空格作为分隔符号
$#:
位置参数的个数[不包括shell脚本]
$*:
所有的位置参数
$@:
所有的位置参数
$?
:
上一条命令的执行状态或者函数的返回值
shell中
0为真,非0为假
$$:
获得shell脚本的进程号
四、shell语句
1、功能性语句
read
功能:
标准读入一行,并把值赋给后面的变量
例如:
readvar1var2var3
stty-echo关闭回显
sttyecho打开回显
2、算术计算命令expr
expr第一个操作数运算符第二个操作数
或者
((C语言语句))#Cshell
例如:
expr1+3
VAR=`expr1+3`
((VAR=1+3))
3、test测试
注意:
test测试的时候,若是用到等号,等号两边要需要空格
例如:
test123=456
<1>字符串
=测试两个字符串是否相等
!
=测试两个字符串是否不相等
-z测试字符串长度是否为0
-n测试字符串长度是否不为0
<2>整数
-eq等于
-ne不等于
-ge大于等于
-le小于等于
-gt大于
-lt小于
注:
-a且的关系连接多个命令
-o或的关系连接多个命令
8
test
test$x-gt8-a$x-lt100
<3>文件
-d:
测试是否是一个目录文件
-f:
测试是否是一个普通文件
-w:
测试是否可写
-r:
测试是否可读
-x:
测试是否可执行
2、控制语句
(1)单分支语句
//iftest表达式
if[表达式]
then
命令1
命令2
...
fi
exit
格式:
exitn
功能:
退出shell脚本
n:
退出码
0表示成功退出
非0表示退出失败
注:
exit默认表示成功退出
//若是判断成立,则执行if中的语句
if[]
then
ls-llog
exit
fi
//条件不成立则执行下面语句
touch
(2)多分支语句
C语言中
switch(表达式)
{
case整数常量表达式1:
C语言语句
break;
case整数常量表达式2:
C语言语句
break;
case整数常量表达式3:
C语言语句
break;
default:
C语言语句
break;
}
shell中
case字符串变量in
模式1)
命令列表1
;;
模式2)
命令列表2
;;
模式3)
命令列表3
;;
*)
命令列表n
esac
C语言中
while(表达式)
{
C语言语句
}
shell中
while判断条件
do
命令列表
done
作业:
写一个1+3+5+7+9的结果
for循环语句中
for变量名in单词表
do(do接在for后,中间有其他则报错)
命令
...
done
工作原理:
<1>循环的次数由单词表决定
<2>每次从单词表中取一个变量给单词,然后执行命令
构造单词表的方法:
1、直接在in后面逐个单词写出来
2、通过变量来获得,即命令置换
五、shell函数
概念:
我们常常把完成固定功能、且多次使用的一组命令(语句)封装在一个特地的结构中
这种结构,我们就叫做函数。
我们来看一下函数的格式
<1>定义一个函数
functionshell_function()
{
命令1
命令2
...
}
<2>调用一个函数
第一种调用方法:
函数名参数1参数2
$?
获得return返回的值
注意:
return不能返回一个字符串
例如:
function_name[arg1arg2…]
echo$?
第二种调用方法:
变量=`函数名参数1参数2`
注意:
变量保存的是函数通过echo输出
例如:
function_name[arg1arg2…]echo$?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Shell 编程 学习 汇总