Shell脚本(持续更新中……)

这篇博客介绍了如何使用Shell脚本来安装Nginx,详细步骤包括下载依赖、配置、编译和安装。同时,文章讲解了Shell脚本的基本语法,如文件权限设置、命令行操作、重定向等。还提到了脚本文件的编写规范,如指定解释器、有意义的文件命名和注释的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Shell脚本


概念:

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。

Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。

Install—Nginx

  1. 先下载vim

    yum install vim -y
    
  2. 使用vim命令创建并编辑nginx_install.sh文件

    vim nginx_install.sh
    
  3. 文件中编辑的内容为:

    # 下载Nginx所需的gcc
    yum -y install wget gcc pcre-devel zlib-devel
    # 下载Nginx
    wget http://nginx.org/download/nginx-1.20.1.tar.gz
    # 解压nginx
    tar xf nginx-1.20.1.tar.gz
    cd nginx-1.20.1
    # 初始化
    ./configure --prefix=/usr/local/nginx
    # 编译
    make
    # 安装
    make install
    
  4. 给予文件的运行权限

    chmod 700 nginx_install.sh
    
  5. 运行脚本文件

    ./nginx_install.sh
    

流程

#解释环境
#!/usr/bin/bash

#注释说明
#Author: Ba Shuming   作者
#Created Time: 2021/08/29 16:00   日期
#Script Description: first shell study script   描述

#执行代码
………………………………………………………………………………………………………………………………………………………………………………………………

运行方式

  1. 给予执行权限再执行

    1. chmod 700 文件
      
    2. ./文件
      
  2. 解释器直接运行(不需要权限)

    1. bash 文件
      或者
      sh 文件
      至于sh和bash采用哪个,最好解释环境用的啥就用啥
      
      主要是linux下有很多shell解释器
      /bin/sh
      /bin/bash
      /usr/bin/sh
      /usr/bin/bash
      
      其实/bin就是连接的/usr/bin
      

符号

~    			  回到/root目录
- 				  回到上一级目录   类似于 ..
!         		  执行历史命令   
!!   			  输出上一次执行的命令是啥,并执行
$ 				  获取某个变量的值
+-*/ %			  这个真的略
&:                后台执行
*:                星号是shell中的通配符  匹配所有
?:                问号是shell中的通配符  匹配除回车以外的一个字符
;:               分号可以在shell中一行执行多个命令,命令之间用分号分割
|:               管道符 上一个命令的输出作为下一个命令的输入   cat filename | grep "abc"
\:                转义字符   expr 5 \* 2  #注意*出现应该转义,否则认为是通配符
``:               反引号 命令中执行命令 echo "today is `date +%F`"  echo "3*3=`expr 3 \* 3`"
' ':              单引号,脚本中字符串要用单引号引起来,但是不同于双引号的是,单引号不解释变量
" ":              双引号,脚本中出现的字符串可以用双引号引起来

举例子说明单引号和双引号的区别
echo '3*3=`expr 3 \* 3`'     输出3*3=`expr 3 \* 3`
echo "3*3=`expr 3 \* 3`"	 输出3*3=9
由此证明单引号不解释变量

双小圆括号运算,在shell中(( ))也可以用来做数学运算
echo $(( 100+3))
         103
echo $(( 100-3)) 
         97
echo $(( 100%3))
         1
echo $(( 100*3))
         300
echo $(( 100/3))
         33
echo $(( 100**3))     #开方运算
         1000000

重定向

echo 内容 > 文件   会将文件中原本的内容设置为当前内容,如果文件不存在则先创建文件
echo 内容 >> 文件  会像文件中追加内容到最后一行。
wc < print.sh 	  输出2  3 30,代表2行3个单词,30个字节
<<  重定向追加输出  fdisk /dev/sdb <<   这里我确实没听明白,原因是Linux有些东西还是不会,导致Shell,后期补充,视频如下:
	https://www.bilibili.com/video/BV1j541157Sr?p=5&spm_id_from=pageDriver

注意事项

  1. 文件名称要有意义,个人建议多个单词之间用下划线隔开
  2. 虽然Linux中没有扩展名的概念,但依然建议以 .sh 结尾
  3. 开头必须指定脚本运行的环境,比如:#!/usr/bin/bash
  4. shell中注释采用#,但**#!**组合特殊,用于指定脚本运行环境

小知识点

  1. chmod 700 nginx_install.sh 给予一个脚本文件的运行权限
  2. chmod 644 print.sh 取消一个文件的执行权限
  3. chmod 777 /var/ftp 干这么设置匿名用户就废了 不要随便搞TM的777
  4. Permission denied 没有权限
  5. date +%F 获取当前的日期
  6. echo $? 判断上一条命令是否执行成功,如果是0则成功,否则失败
  7. bc命令专门用于计算,但是需要提前安装:yum install bc -y
  8. bc页面中 scale=2 表示接下来的计算结果保留小数点后两位
  9. exit 0 代表正常退出,非0代表不正常退出
  10. exit 10 执行后,采用 echo $? 返回10,范围是0~255,如果超过极值,则echo $? 返回的结果按着极值算
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值