文档详情

Linux Shell编程入门知识.docx

发布:2023-07-02约5.38千字共17页下载文档
文本预览下载声明
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=10 2. 一般变量名用大写: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:系统环境变量 PATH 3. TERM:当前终端 4. UID:当前用户 ID 5. PWD:当前工作目录,绝对路径 还是
显示全部
相似文档