没有合适的资源?快使用搜索试试~ 我知道了~
linux+shell脚本语言基础知识.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 2 浏览量
2022-05-23
09:29:19
上传
评论
收藏 105KB DOCX 举报
温馨提示
试读
22页
。。。
资源推荐
资源详情
资源评论
linux shel脚l本语言基础知识
一.shell 简介
Linux 系统的 shell 作为操作系统的外壳,为用户提供使用操作系统的界
面,更确切的说,shell 是用户与 Linux 操作系统沟通的桥梁。用户既可以输入
命令执行,又可以利用 Shell 脚本编程,完成更加复杂的操作。
shell 是一个命令解释器,它从输入设备读取命令,再将其转为计算机可
以了解的指令,然后执行它。在 linux 中,shell 又不仅是简单的命令解释器,
而且是一个全功能的编程环境。
Linux 的 Shell 种类众多,常见的有:Bourne Shell(/usr/bin/sh 或/bin/sh)、
Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell
(/usr/bin/ksh)、Shell for Root(/sbin/sh),等等。不同的 Shell 语言的语法有
所不同,所以不能交换使用。每种 Shell 都有其特色之处,基本上,掌握其中
任何一种就足够了。通常用 Bash,也就是 Bourne Again Shell进行编程。
二.shell 使用
1.建立和运行 shell 程序
shell 脚本程序:按照一定的语法结构把若干 linux 命令组织在一起,是这
些命令按照我们的要求完成一定的功能。它可以进行类似程序的编写,并且不
需要编译就能执行。(只需修改其权限)
像编写高级语言的程序一样,编写 shell 程序需要一个文本编辑器,如 VI 和
VIM,通常使用 VIM 文本编辑器,支持更便利的插入模式。
首先使用 VIM 编辑器编辑一个 hello.sh 文件:
#!/bin/bash
#hello world example
echo "hello world"
这样,一个最简单的 shell 程序就编写完了。
第一行:#!说明 hello.sh 这个文件的类型的,这有点类似于 Windows 系统下的
用不同的文件后缀来表示不同的文件类型,但又不完全相同。Linux 系统根据
#!及该字符串后面的信息确定该文件的类型。在#!之后是一个路径名,这个
路径名指定了一个解释脚本中命令的程序。
第二行:“#hello world example 就是 shell 程序的注释,(但后面紧接着“!”号
”
的除外)
第三行:echo(回显)语句的功能是把 echo 后面的字符串输出到标准输出中。
现在,建立和写好之后,那么该程序如何运行呢?
由于该脚本没有执行的权限,只需要修改其执行的权限即可,执行:chmod
a+x hello.sh。然后输入命令:./hello.sh 即可看到效果。
2.shell 变量
变量是一个存储值的实体,可以是一个名字,或者一个特殊的值。shell 可以创
建,分配和删除变量。
(1)变量设置规则:
a.变量与变量内容以等号(=)来连接
b.等号两边不能直接接空格符
c.变量名称只能是英文字母与数字或下划线,但是数字不能是开头符
d.引用变量名用“$变量名”
#!/bin/bash
#hello world example
a="hello world"
echo $a
以上例子一样可以输出 hello world。
e.若有空格符可以使用双引号或单引号将变量内容结合起来,但必须注意,双
引号的特殊字符可以保有变量的特性,但是单引号内的特殊字符则仅为一般字
符。
#name="$LOGNAME is hh" //root is hh
#name='$LOGNAME is hh' //$LOGNAME is hh
f.通常大写字符为系统预设变量,自行设定的变量可以使用小写字符
(2)取消变量:用 unset 变量名
#!/bin/bash
#hello world 例子
a="hello world"
unset a
echo $a
以上例子将不会打印出任何东西。
3.shell 特殊变量
$0 :执行的脚本的文件名
$1 :脚本文件的第一个参数名
$# :传递到脚本的参数个数
$* :以一个单字符串显示所有向脚本传递的参数
$$ :脚本运行的当前进程 ID 号
$? :显示最后命令的退出状态,0 表示没有错误,其它值表示有错误
例子 a.sh
#!/bin/bash
echo "the file is $0"
echo "the parameter is $1 $2"
echo "number of parameter is $#"
echo "all parameter is $*"
echo $?
加权限后执行./a.sh hh mm gg
则打印
the file is ./a.sh
the parameter is hh mm
number of parameter is 3
all parameter is hh mm gg
0
4.常用 shell 内嵌命令
(1)echo:显示变量内容
(2)env:显示目前系统中主要的预设变量内容
(3)set:显示目前系统中全部的变量内容
(4)read:从键盘读入变量内容
(5)declare:声明变量内容
-a:定义为数组 array
-f:定义为函数 function
-i:定义为整数 integer
-r:定义为“只读”
-x:定义为透过环境输出变量、
例子:
#!/bin/bash
a=1+1
declare -i b=1+1
echo $a
echo $b
执行后输出结果为 1+1
2
5.条件测试
在写 shell 脚本时,经常遇到的问题就是判断字符串是否相等,可能还要检查文
件状态或进行数字测试,只有这些测试完成才能做下一步动作。
test 命令就是用于测试字符串,文件状态和数字的.test 命令两种格式:
test condition
或 [ condition ]
使用方括号时,要注意在条件两边加上空格
三.shell 脚本编程基础知识
1.shell 基本运算符
(1)算术运算符
剩余21页未读,继续阅读
资源评论
春哥111
- 粉丝: 1w+
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功