Linux Shell编程入门知识.docx
文本预览下载声明
Linux Shell?编程的基础知识
本文主要介绍?Linux Shell?编程的基础知识,包含下面?8 个方面:
Shell 编程概述
Shell 关键字
Shell 变量
Shell 运算
Shell 语句
Shell 函数
Shell 调试
Shell 易错点
下面一一介绍。
Shell 编程概述
在 Linux 下有一门脚本语言叫做:Shell 脚本,这个脚本语言可以帮助我们简化很多工作,例如编写自定义命令等,所以还是很有必要学习它的基本用法的,一个简单的?hello.sh?脚本像下面这样,第一行?#!/bin/bash?标识该 Shell 脚本由哪个 Shell 解释:
#!/bin/bash
echo Hello World!
赋予权限才可以执行:
# 赋予可执行权限
chmod a+x hello.sh
# 执行
./hello.sh
# 结果
Hello World!
Shell 的编写流程:1. 编写 Shell 脚本2. 赋予可执行权限3. 执行,调试
下面来介绍具体的语法。
Shell 关键字
常用的关键字如下:1. echo:打印文字到屏幕2. exec:执行另一个 Shell 脚本3. read:读标准输入4. expr:对整数型变量进行算术运算5. test:用于测试变量是否相等、 是否为空、文件类型等6. exit:退出
看个例子:
#!/bin/bash
echo Hello Shell
# 读入变量
read VAR
echo VAR is $VAR
# 计算变量
expr $VAR - 5
# 测试字符串
test Hello=HelloWorld
# 测试整数
test $VAR -eq 10
# 测试目录
test -d ./Android
# 执行其他 Shell 脚本
exec ./othershell.sh
# 退出
exit
运行前,你需要新建一个?othershell.sh?的文件,让它输出?Im othershell,并且中途需要一次输入,我这里输入的是 10:
Hello Shell
10
VAR is 10
5
Im othershell
学习任何一门语言都要了解它的变量定义方法,Shell 也不例外。
Shell 变量
Shell 变量分为 3 种:1. 用户自定义变量2. 预定义变量3. 环境变量
定义变量需要注意下面 2 点:1. 等号前后不要有空格:NUM=102. 一般变量名用大写:M=1
使用?$VAR?调用变量:
echo $VAR
1. 用户自定义变量
这种变量只支持字符串类型,不支持其他字符,浮点等类型,常见有这 3 个前缀:1.?unset:删除变量2.?readonly:标记只读变量3.?export:指定全局变量
一个例子:
#!/bin/bash
# 定义普通变量
CITY=SHENZHEN
# 定义全局变量
export NAME=cdeveloper
# 定义只读变量
readonly AGE=21
# 打印变量的值
echo $CITY
echo $NAME
echo $AGE
# 删除 CITY 变量
unset CITY
# 不会输出 SHENZHEN
echo $CITY
运行结果:
SHENZHEN
cdeveloper
21
2. 预定义变量
预定义变量常用来获取命令行的输入,有下面这些:
$0 :脚本文件名
$1-9 :第 1-9 个命令行参数名
$# :命令行参数个数
$@ :所有命令行参数
$* :所有命令行参数
$? :前一个命令的退出状态,可用于获取函数返回值
$$ :执行的进程 ID
一个例子:
#!/bin/bash
echo print $
echo \$0 = $0
echo \$1 = $1
echo \$2 = $2
echo \$# = $#
echo \$@ = $@
echo \$* = $*
echo \$$ = $$
echo \$? = $?
执行./hello.sh 1 2 3 4 5?的结果:
print $
# 程序名
$0 = ./hello.sh
# 第一个参数
$1 = 1
# 第二个参数
$2 = 2
# 一共有 5 个参数
$# = 5
# 打印出所有参数
$@ = 1 2 3 4 5
# 打印出所有参数
$* = 1 2 3 4 5
# 进程 ID
$$ = 9450
# 之前没有执行其他命令或者函数
$? = 0
3. 环境变量
环境变量默认就存在,常用的有下面这几个:1. HOME:用户主目录2. PATH:系统环境变量 PATH3. TERM:当前终端4. UID:当前用户 ID5. PWD:当前工作目录,绝对路径
还是
显示全部