Shell语言入门与实践:变量、流程控制及快速搭建LNMP环境

目录

变量类型

变量运算

流程控制

其他


         SHELL语言是指UNIX操作系统的命令语言,同时又是该命令语言的解释程序的简称,它既是终端上的用户与UNIX操作系统会话的语言,又可作为程序设计的语言。

变量类型

        Shell中的变量主要分为三类,分别是系统变量、环境变量、用户自定义变量。系统变量,主要是用于对参数判断和命令返回值判断时使用,例如在写一个脚本文件时,可以使用如下系统变量:

$0

当前脚本的名称

$n

当前脚本的第n个参数,n=1,2,…9

$*

当前脚本的所有参数(不包括程序本身)

$#

当前脚本的参数个数(不包括程序本身)

$?

程序执行完后的状态,返回0表示执行成功

$$

程序本身的PID号

环境变量如下:

PATH

命令所示路径,以冒号为分割

HOME

打印用户家目录

HOSTNAME

显示当前主机名

PWD

显示当前所在路径

        用户自定义变量又称局部变量,主要用在Shell脚本内部或者临时局部使用,用“=”来定义,首个字符必须为字母(a-z,A-Z),不能以数字开头,中间不能有空格,可以使用下划线(_),不能使用(-),也不能使用标点符号等。

变量可以通过“=”赋值,也可以通过“read”读入,具体如下:

1)“=”——变量名=变量值

[yemo@bogon ~]$ a=123456

[yemo@bogon ~]$ echo $a

123456

[yemo@bogon ~]$ a=${a}7890

[yemo@bogon ~]$ echo $a

1234567890

2)“read”——read 变量名 (read用法还有很多种,这里不多介绍)

[yemo@bogon ~]$ read h

1212

[yemo@bogon ~]$ echo $h

1212

变量运算

整数——expr (+加 -减 *乘 /除 %取余)

[yemo@bogon ~]$ a=$(expr 6 % 3);echo $a

0

[yemo@bogon ~]$ sum=$((1+2)); echo $sum

3

小数——bc:交互运算器

[yemo@bogon ~]$ a=3.2  

[yemo@bogon ~]$ b=1.5  

[yemo@bogon ~]$ c=`echo "scale=3;$a + $b"|bc` ;echo $c

4.7

流程控制

        这部分的内容和C语言中的if、for、while等语句类似,只是在格式上有些许不同需要注意,判断逻辑运算符>=、<=、==等变为字符标识。通过几个脚本示例来了解下:

1)加法(for)

[yemo@bogon ~]$ cat sum_to.sh

#!/bin/bash


for (( i=1;i<=$1;i++ ))

do

sum=$[ $sum + $i ]

done

echo $sum

[yemo@bogon ~]$ chmod +x sum_to.sh

[yemo@bogon ~]$ ./sum_to.sh 10

55

[yemo@bogon ~]$ ./sum_to.sh 100

5050
  1. 加法(while)
[yemo@bogon ~]$ cat sum_to.sh

#!/bin/bash

a=1

while [ $a -le $1 ]

do

sum2=$[ $sum2 + $a ]

a=$[$a + 1 ]

done

echo $sum2

[yemo@bogon ~]$ ./sum_to.sh 100

5050
  1. 判断(if)
[yemo@bogon ~]$ cat if.sh

#!/bin/bash

if [ $1 -eq 1 ]

then

echo "班长真帅"

elif [ $1 -eq 2 ]

then

echo "班长真丑"

fi

[yemo@bogon ~]$ bash if.sh 2

班长真丑

至于其他语句:until、break、shift、return、exit、continue…此处不多介绍。

 

其他

        Shell还有函数、数组、并发控制等部分的内容作为shell基础需要进行学习,shell的基础命令还可以拓展到grep、sed、awk(上此的shell介绍中有讲到)、find、cut、history等,这些基础知识都是需要应用到日常的运维和开发中,以下介绍一个快速搭建lnmp项目环境的shell脚本,简单易学:

 

下载 LNMP 安装脚本(这里安装的是 1.9,更多版本可查看: https://lnmp.org/download.html

wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz

解压并执行它

tar zxf lnmp1.9.tar.gz && cd lnmp1.9 && ./install.sh lnmp

接下来会出现大量的选项,如果不是很懂各个选项间的区别,按默认就行啦。

 

参考链接:

SHELL语言_百度百科

https://www.cnblogs.com/cherishthepresent/p/16925329.html

https://lnmp.org/download.html

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值