洪梅仿做网站,wordpress相册管理插件下载,加强检察院门户网站建设,WordPress资讯网站文章目录 目录 文章目录 前言 一.Shell脚本定义 shell脚本书写规范 shell脚本执行方式 二.Shell变量 变量定义 定义规范 定义方式 变量的运算 数值运算 数值比较 未完待续...... 前言
希望通过本文的学习#xff0c;你能够掌握Shell脚本的基本知识和实用技巧#xff0c…文章目录 目录 文章目录 前言 一.Shell脚本定义 shell脚本书写规范 shell脚本执行方式 二.Shell变量 变量定义 定义规范 定义方式 变量的运算 数值运算 数值比较 未完待续...... 前言
希望通过本文的学习你能够掌握Shell脚本的基本知识和实用技巧将Shell脚本融入到你的日常工作中成为你提高工作效率、实现自动化任务的得力助手。让我们一起踏上这段探索Shell脚本的旅程开启一段充满无限可能的自动化之旅吧 一.Shell脚本定义
Shell以文本方式提供了与操作系统内核进行交互的方式。用户可以在shell脚本文件中写入一系列系统命令然后执行shell脚本就可以自动执行脚本文件中的命令从而节省大量时间。
Shell可以帮助用户高效地执行一系列命令和任务。通过学习和掌握Shell脚本的编写技巧用户可以大大提高工作效率和自动化水平。
shell脚本书写规范
脚本命名 脚本名应以.sh结尾名称应尽量具有描述性如ClearLog.sh、SerRestart.sh等。编码格式 尽量使用UTF-8编码注释及输出尽量使用英文。执行权限 一般应给予脚本执行权限但一些仅用于变量定义的配置文件则无需加执行权限。解释器声明 脚本首行应使用#!/bin/bash或#!/usr/bin/env bash来声明解释器没有空格不带任何选项。
下面是一个简单的脚本案例
#创建一个以.sh结尾的shell脚本文件
[rootlocalhost sh]# vim test_1.sh
首行添加解释器声明在此之后可以添加需要执行的命令
#!/bin/bash
【添加需要执行的命令】#添加完脚本内容后给脚本添加执行权限
[rootlocalhost sh]# chmod ux test_1.shshell脚本执行方式 直接运行脚本 方法描述 在终端中输入脚本文件的路径并按下回车键即可执行脚本。例如如果脚本文件名为script.sh并且位于当前目录下则可以在终端中输入./script.sh来执行该脚本。特点与要求 需要确保脚本文件具有可执行权限。可以使用chmod命令来设置脚本的权限如chmod x script.sh。脚本文件的第一行通常包含Shebang如#!/bin/bash用于指定解释器。
#利用路径的方式执行一下脚本
[rootlocalhost sh]# ./test_1.sh
#若无执行权限会出现如下报错
-bash: ./test_1.sh: 权限不够#提示“权限不够”代表当前用户无执行权限需要添加权限
[rootlocalhost sh]# chmod ux test_1.sh 使用shell解释器执行 方法描述 通过显式地指定Shell解释器来执行脚本。例如使用bash script.sh或sh script.sh来执行脚本。特点与要求 不需要脚本文件具有可执行权限。可以选择不同的Shell解释器如bash、sh、zsh等。适用于不同Shell环境提高了脚本的兼容性。
[rootlocalhost sh]# bash test_1.sh[rootlocalhost sh]# sh test_1.sh 二.Shell变量
顾名思义变量就是程序设计语言中的一个可以变化的量从本质上讲变量就是在程序中保存用户数据的一块内存空间而变量名就是这块内存空间的地址。
变量定义
定义规范
定义变量有以下几点需要注意
变量名可以包含下划线数字大小写字母但不能以数字开头。两边不要有空格。“值”如果含有空格要使用单引号 或双引号“ ”引起来定义变量时变量名前是不需要加$的引用变量时需要在变量名前加$
常见定义错误如下
变量名不能以数字开头所以会报错
[rootlocalhost ssh]# 1aa123
bash: 1aa123: command not found...变量名只能以数字字母下划线组合所以报错
[rootlocalhost ssh]# aa-1123
bash: aa-1123: command not found...等号右边有空格所以报错
[rootlocalhost ssh]# aa1 2
bash: 2: command not found... 正常的变量定义如下
[rootlocalhost ssh]# a123
[rootlocalhost ssh]# echo $a
123定义方式 基本定义式 格式如下
变量值
[rootlocalhost ssh]# a123
[rootlocalhost ssh]# echo $a
123 命令结果定义式 格式如下
变量$(命令)
例如定义一个名称是IP的变量对应的值是ens160的IP命令如下
[rootlocalhost ~]# IP$(ifconfig ens160 | awk /inet /{print $2})
[rootlocalhost ~]# echo $IP
192.168.23.143交互式定义 使用read命令从用户输入中获取变量的值。这种方法通常用于需要用户输入的场景。
格式如下
read -p 提示信息 变量 当执行read命令时系统会提示用户输入一些内容所输入的值会赋值给read后面的变量这里我们输入的是123所以打印a变量时看到的是123。
[rootlocalhost ~]# read -p 请输入数字 a
请输入数字123
[rootlocalhost ~]# echo $a
123变量的运算
数值运算
表示加法-表示减法*表示乘法/表示除法**表示次方
进行数学运算的表达式有$(())$[ ]let等。 [rootlocalhost ~]# a$[12]
[rootlocalhost ~]# echo $a
3数值比较
-eq相等-ne不相等-gt大于-ge大于等于-lt小于-le小于等于 练习1判断1等于2命令如下
[rootlocalhost ~]# [1 -eq 2 ]
bash: [1: command not found...
[rootlocalhost ~]# echo $?
1271是不能等于2的所以判断不成立返回值是非零值。
练习2判断1不等于2命令如下
[rootlocalhost ~]# [ 1 -ne 2 ]
[rootlocalhost ~]# echo $?
01不等于2所以判断成立返回值为0。 未完待续.......