如果您无法下载资料,请参考说明:
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]# 注
as****16
实名认证
内容提供者
最近下载