shell脚本中的if语句 Linux基础-shell脚本编程

11/28 05:11:06 来源网站:辅助卡盟网

shell脚本中的if语句 Linux基础-shell脚本编程

点击上方“3D视觉工坊”辅助卡盟,选择“星标”

干货第一时间送达

作者丨土豆居士

来源丨一口Linux

shell 编程

一、变量

1. shell脚本基础知识

编译型语言:如 c语言 解释型语言:shell 脚本

shell脚本的本质:shell命令的有序集合。

2.shell 编程的基本过程

基本过程分为三步:

建立shell文件:包含任意多行操作系统命令或shell命令的文本文件。——xx.sh

赋予shell文件执行权限,==用chmod命令修改权限==。

执行shell文件,直接在命令行上调用shell程序

示例:

建立shell文件 prog1.sh

data

赋予shell文件执行权限 (初始文本文件无执行权限)

chmod 740 prog1.sh
#或者
chmod u+x prog1.sh

执行shell文件

prog1.sh
#结果为
prog1.sh :not found

原因是:shell在标准搜索路径中找不到prog1.sh 4.正确的执行shell文件

./prog1.sh
#结果为
2009年 12月 16日 星期二 14:52:57 CST

3. shell变量

shell允许用户建立变量存储数据shell脚本中的if语句,但不支持数据类型(整型,字符,浮点型),将任何赋给变量的值都解释为一串字符Variable = value

在这里插入图片描述

==注意几点:==

变量没有类型

=号两边不能加空格

变量必须是大写

赋值的时候要用``框起来

Bourne shell有如下四种变量:

在shell编程中通常使用全大写变量:COUNT=1

变量的调用,在变量前加$:echo $HOME

Linux shell / bash 从右向左赋值:Y=y、X=$Y、echo $X 、y

使用unset命令删除变量的赋值:Z=hello、echo $Z、hello、unset Z、echo$Z

位置变量及命令行参数:

$0 与键入的命令行一样,包含脚本文件名

$1,$2....$9 分别包含第一个到第九个命令行参数。

$# 包含命令行参数的个数

$@ 包含所有命令行参数:$1,$2,...$9

$?包含前一个命令的退出状态

$* 包含所有命令行参数:$1,$2,....$9

$$ 包含正在执行进程的ID号

必须在两位数边写上 { } ,才能正常值一一样。

HOME:/etc/passwd文件中列出的用户目录

IFS: Internal Field Separator , 默认为空格,tab及换行符

PATH:shell搜索路径

PS1,PS2:默认提示符($)及换行提示符(>)

TERM:终端类型,常用的有vt100,ansi,vt200,xterm等。

二、shell 功能语句

shell 程序由零或多条shell语句构成。shell语句包括三类:说明性语句,功能性语句和结构性语句。

**说明性语句 ** 以 # 号开始到该行结束shell脚本中的if语句,不被解释执行功能性语句 任意的shell命令,用户程序或其他shell程序结构性语句 条件测试语句,多路分支语句,循环语句,循环控制语句等。

#!/bin/sh
#
# 本程序说明
#
command_1
command_2     #command_2的语句说明
....

常用功能性语句(命令)

==read== 从标准输入读入一行,并赋值给后面的变量,其语法为:

read var

把读入的数据全部赋给var

read var1 var2 var3

把读入行中的第一个单词(word)赋给var1 ,第二个单词赋给var2,.....把其余所有的词赋给最后一个变量。如果执行read语句时标准输入无数据,则程序在此停留等候,直到数据的到来或被终止运行。

    暂无相关资讯
shell脚本中的if语句 Linux基础-shell脚本编程