shell脚本while语句 一文读懂 Shell 脚本编程

03/15 01:42:19 来源网站:辅助卡盟网

shell脚本while语句 一文读懂 Shell 脚本编程

1. shell脚本基础知识

shell脚本是一个文件,里面存放的是特定格式的指令,系统可以使用脚本解析器翻译或解析指令并执行(无需编译),shell脚本的本质是shell命令的有序集合shell脚本编程的基本过程分为三步:

⏩ 建立shell文件:包含任意多行操作系统命令或shell命令的文本文件

vi test.sh

⏩ 赋予shell文件执行权限:用chmod命令修改权限

chmod 740 test.sh

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

./test.sh

2. shell变量

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

定义shell变量名时,首个字符必须为字母,不能以数字开头,中间不能有空格,可以使用下划线卡盟,不能使用中横线及标点符号等。shell变量分为系统变量、环境变量和用户变量三种:

⏩ 用户变量:用户自定义变量,通常使用全大写定义变量名,方便识别;在变量前加 $ 调用变量;从右向左赋值;unset命令可删除变量的赋值

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   #当前脚本的名称
$n   #传递给脚本或函数的第n个参数,n=1,2,…9

$#   #传递给脚本或函数的参数个数
$*   #传递给脚本或函数的所有参数:“$1,$2,……$9” 整体传递
$@   #传递给脚本或函数的所有参数:“$1”,“$2”,……“$9” 分开传递
$?   #命令或程序执行完后的状态,返回0表示执行成功
$$   #当前脚本程序的PID号

⏩ 环境变量:在程序运行时需要设置

PATH  	    #shell搜索路径,以冒号为分割
HOME  	    #/etc/passwd文件中列出的用户主目录 
SHELL 	    #当前Shell类型
USER  	    #当前用户名
ID    	    #当前用户id信息
PWD   	    #当前所在路径
TERM  	    #当前终端类型
HOSTNAME   #当前主机名;
PS1        #定义主机命令提示符
HISTSIZE   #历史命令大小,可通过HISTTIMEFORMAT变量设置命令执行时间
RANDOM     #随机生成一个0至32767的整数
HOSTNAME   #主机名

3. shell功能语句

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

⏩ 说明性语句:即注释行,以 # 号开始到该行结束,不被解释执行

#! /bin/sh
# 以上是告诉OS用哪种类型的shell来解释执行该程序

⏩ 功能性语句:任意的shell命令、用户程序或其它shell程序。以read命令和expr命令为例

read命令:read从标准输入读入一行, 并赋值给后面的变量。若标准输入无数据, 则程序在此停留等侯, 直到数据到来或被终止运行

read  var		  #把读入的数据全部赋给var
read  var1  var2  var3 #把读入行中的第一个词赋给var1,第二个赋给var2,其余所有赋给var3

    暂无相关资讯
shell脚本while语句 一文读懂 Shell 脚本编程