您所在位置: 网站首页 / Shell编程基础.doc / 文档详情
Shell编程基础.doc 立即下载
2024-09-12
约8.5千字
约16页
0
83KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

Shell编程基础.doc

Shell编程基础.doc

预览

免费试读已结束,剩余 11 页请下载文档后查看

15 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Shell编程基础
Shell种类适用系统特点bashX86,linux系统默认shell功能强大ashembedded嵌入式系统体积小csh网络常用于网络文件系统		注:如没有特殊要求,shell的脚本文件扩展名应为xx.sh
Shell脚本执行方法:
直接运行:		vi	test.sh
chmod	a+xtest.sh
						./test.sh
	特点:重新启动一个文件制定的shell程序,用此shell对脚本进行解释执行。
指定shell执行		shell命令test.sh
(bash,ash,csh)(空格)test.sh
	特点:同上
当前shell运行
source	test.sh
当前shell运行
.(空格)test.sh
	3和4的特点:用当前shell对脚本解释执行。
Shell变量
注:在shell中变量无数据类型
Shell中需要用变量来储存程序的数据。
Shell中的变量可分为三种:

变量名命名规范:字母要大写,多个单词间以下划线分割。
变量赋值		变量名=值(等号两端不能有空格,不加引号值也不能有空格)
变量引用		$变量名
变量释放		unset变量名

·局部变量:自在当前的进程和程序中有效的变量。
·环境变量:是在一个用户的所有进程中都可以访问的变量。
命令export查看所有环境变量,也可以用export来定义一个环境变量
例:#exportXXX=1234	之后另开一个终端
	#echo$XX
	1234
上面的方法自在当前运行的所有进程中有效,系统重启后就会清除,
只有把exportXXX=1234写到环境变量配置文件/etc/profile中才会一直有效。

·位置变量:shell在运行时传入的参数。
	$?			上一条命令的运行结果,成功0,失败非0
	$1~$9		shell命令运行时的命令行参数
	$0			就是命令名称
例一:新建a.sh文件				执行结果
#!/bin/bash
echo$1
echo$2
echo$3
echo$0[root@localhostroot]#./a.shabc
#a
#b
#c
#./a.sh
例二:
[root@localhostroot]#H='hello'
[root@localhostroot]#A='$Heveryone!'		单引号不支持特殊字符
[root@localhostroot]#B="$Heveryone!"		双引号支持特殊字符
bash:!":eventnotfound
[root@localhostroot]#B="$Heveryone\!"		!是逻辑运算符非/是转义符
[root@localhostroot]#echo$A
$Heveryone!
[root@localhostroot]#echo$B
helloeveryone\!
[root@localhostroot]#unsetABH		清空变量值
[root@localhostroot]#echo$A

[root@localhostroot]#echo$B

[root@localhostroot]#echo$H

Shell测试
测试语法:
test测试符号被测字符串或变量
	test被测字符串或变量1测试符号被测字符串或变量2
也可用[]代替test
	[测试符号被测字符串或变量]
	[被测字符串或变量1测试符号被测字符串或变量2]
注:一般用[]而不用test
测试结果:真0		假非0

文件测试符号字符串测试符号数值测试符号-f是否为文件
-d是否为目录
-L是否为软链接
-w是否为可写
-r是否为可读
-x是否为可执行
-s长度是否大于0
-u是否有suid位设置=两字符串是否相等
!=不等

-n为非空串
-z为空串-eq相等
-ne不等

-gt大于
-ge大于等于

-lt小于
-le小于等于逻辑运算符-a与

全1出1,有0出0-o或

全0出0,有1出1!非

取反
例1
[-ra.txt–a–wa.txt]		判断文件a.txt是否可读并且可写
[-ra.txt–a!–wa.txt]	判断文件a.txt是否可读并且不可写
例2
[root@localhostroot]#A="123"
[root@localhostroot]#[$A="456"]
bash:[:toomanyarguments

语法错误,因为变量$A不加“”时电脑把123带入等式为
	[123="456"]此时2和3之间的空格导致语法错误
解决办法就是把变量两边也加上“”如下

[root@localhostroot]#["$A"="456"]
[root@localhostroot]#echo$?
1
[root@localhostroot]#

注
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

Shell编程基础

文档大小:83KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用