首页 > 系统相关 >Linux之Shell脚本与Nginx

Linux之Shell脚本与Nginx

时间:2023-08-24 20:35:15浏览次数:51  
标签:文件 Shell echo Nginx sh Linux test bash

1.入门Shell脚本

1.1HelloWord

打开我们的finalshell软件连接虚拟机

在/usr/local/下创建 一个点后缀为test的文件

且编辑文件

文件头部固定语句必须输入

#!/bin/bash

随后在下面我们直接输出一句Hello word

按下ESC键且输入:wq 保存退出后,这时不能直接执行,因为这个时候的文件你并没有执行的权限

所以我们需要给它加上执行的权限

chmod u+x test.sh

再次执行我们的文件

./test.sh

我们的第一个Shell脚本程序就写完了!!

1.2.Shell变量

与其他语言不同的是,shell的脚本在声明变量时并不像java一样需要指定数据类型

shell脚本可以直击进行声明

新建一个文件或者继续使用上一个test.sh文件都行

 

#!/bin/bash

a="Hello Word Josk"
echo "${a}"

随后保存退出运行./test.sh文件

【注:

命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线 _。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。】

1.3.Shell传递参数

新建文件或者继续使用test.sh 文件都行

在其内

#!/bin/bash
echo "这是第一个传递的参数:$1"
echo "这是第二个传递的参数:$2"

而其中,$1就是要从外界传递的第一个参数,$2就是要传递的第二个参数

退出保存并执行文件

./test.sh 22 33

执行文件名后跟要传的参数

【注:不限制数据类型】

1.4.Shell数组

新建文件或者继续使用test.sh 文件都行

在其中

定义一个数组

【注:数组中可以定义任何数据类型的值】

#!/bin/bash

array=[3,6,9,12,15,18]
echo "数组的值是${array[0]}"

退出保存并执行./test.sh 文件

1.5.Shell基本运算符

Shell 和其他编程语言一样,支持多种运算符,包括:

  • 算数运算符

  • 关系运算符

  • 布尔运算符

  • 字符串运算符

原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。

expr 是一款表达式计算工具,使用它能完成表达式的求值操作。

例如,两个数相加(注意使用的是反引号 *`* 而不是单引号 *'*):

新建文件或者继续使用test.sh 文件都行

#!/bin/bash

a=$1
b=$2
sum=`expr $a + $b`
echo "两数之和为:${sum}"

【注:一定要注意该空格的地方要空格,不该空格的地方千万不要空格,会报错】

【注:数目运算一定要使用反引号】

退出保存并运行 给两个参

下面进行基本运算测试:

#!/bin/bash

a=15
b=3
sum=`expr $a - $b`
echo "两数相减:${sum}"
sum=`expr $a \* $b`
echo "两数相乘:${sum}"
sum=`expr $a / $b`
echo "两数相除:${sum}"
sum=`expr $a % $b`
echo "两数取余:${sum}"

运行文件:

1.6.Shell关系运算符

新建文件或者继续使用test.sh 文件都行

#!/bin/bash

a=3
b=4

if [ $a -eq $b ]
then
echo "a与b相等"
else
echo "a与b不相等"
fi

【注:一定要注意if后空格】

1.7.Shell逻辑运算符

新建文件或者继续使用test.sh 文件都行

#!/bin/bash

a=3
b=4
c=6
if [ $a -gt $b -o $c -gt $b ]
then
echo "a小于b或c大于b"
else
echo "a大于b或c大于b"
fi

退出保存并执行文件

1.8.控制语句if与for

由于if在上面已经演示

这里只说语法

if [ 条件 ]

then

xxxx

else

xxx

fi

演示for循环:

#!/bin/bash


for a in 2 3 4 5 6 7
do
echo "数组循环的是:${a}"
done

退出保存且执行文件:

 

 

标签:文件,Shell,echo,Nginx,sh,Linux,test,bash
From: https://www.cnblogs.com/9--1/p/17654964.html

相关文章

  • Linux 内核音频子系统调试
    debugfs文件系统debugfs可以为Linux内核各个模块的分析调试,提供许多信息,如音频子系统的ASoC,以及tracing等。debugfs文件系统可以通过命令行工具挂载,如下所示:root@apollo:~#ls/sys/kernel/debug/root@apollo:~#mount-tdebugfsnodev/sys/kernel/debugroot@apollo......
  • shell 脚本的探测web
    web服务的探测。#!/bin/bashport=`netstat-lnp|grep80`if[-z"port"];thenecho"notstartservice.";exit;fiweb_server=`echo$port|awk-F'/''{print$2}'|awk-F:'{print$1}'`case$web_serv......
  • Linux下修改文件编码格式
    查看文件编码格式:filefishmails.csv.old修改文件编码格式:iconv-fiso-8859-1-tUTF-8fishmails.csv.oldt-o fishmails.csv ......
  • linux的用户配置文件(4个用户文件)
    Linux中用户与组原创 凉兮 凉兮的运维日记 2023-08-2411:07 发表于北京收录于合集#linux11个#管理员1个#linux系统5个一、基本概念1、基本介绍    Linux作为一种多用户的操作系统(服务器系统),允许多个用户同时登录到系统上,并响应每个用户的请求。任何......
  • 浅谈 Linux 下 vim 的使用
    Vim是从vi发展出来的一个文本编辑器,其代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。Vi是老式的字处理器,功能虽然已经很齐全了,但还有可以进步的地方。Vim可以说是程序开发者的一项很好用的工具。对于大多数用户来说,Vim刚开始学习的时候可能会进......
  • Linux基础命令:应付测试面试
    1.进入文件命令vi文件名(一定要知道是那个目录下的文件) 下图为进入该文件: 2.编辑文件:先按I进入编辑模式就可以随便写入了保存之前一定要先退出编辑模式:按ESC接下来就是保存:    :q 不保存直接退出    ......
  • CentOS 8 无痕升级到 Rocky Linux
    CentOS8无痕升级到RockyLinux1.升级当前系统dnfupgrade-y2.重启当前系统:reboot3.下载脚本:CentOS8到RockyLinux8https://github.com/rocky-linux/rocky-tools/blob/main/migrate2rocky/migrate2rocky.sh8至9curl-Ohttps://github.com/rocky-linux/rocky-to......
  • Nginx内置lua版OpenResty拦截转发请求Redis等操作
    Nginx内置lua版OpenResty拦截转发请求Redis等操作1下载并安装OpenRestyhttp://openresty.org/cn/download.html2下载lua-resty-http-0.17.1库以让openresty的lua支持外部http访问能力lua-resty-http-0.17.11下载lua-resty-http-0.17.12然后将文件中lua-resty-http......
  • Linux su 与 su - 的区别
    问题描述linux是最稳定的系统,为了安全,一般会配置非root权限的用户进行工作,今天聊下linux系统中su和su-的区别主要区别su仅仅是切换了root身份。但Shell环境仍然是普通用户的Shell。su-连用户和Shell环境一起切换成root身份了 ......
  • Linux 内核音频数据传递主要流程 (下)
    来而不往非礼也。前面看到了用户空间应用程序和DMAbuffer之间交换数据,并更新runtime->control->appl_ptr指针的过程,这里看一下硬件设备驱动程序在完成DMAbuffer和硬件设备的数据交换之后,更新runtime->status->hw_ptr的过程。用户空间应用程序,在内核的__snd_pcm_lib_xf......