0

0

linux中什么是shell脚本

WBOY

WBOY

发布时间:2022-03-15 15:02:07

|

6214人浏览过

|

来源于php中文网

原创

在linux中,shell脚本是一种编程方式,就是一些命令的集合。shell脚本将一些shell语法与指令写在里面,利用管道命令以及流量重导向等功能,达到想要的处理目的,是临时写的小程序用于完成当前的工作。

linux中什么是shell脚本

本教程操作环境:linux7.3系统、Dell G3电脑。

linux中什么是shell脚本

一.shell脚本的概念及意义

shell脚本是linux下的一种编程方式,脚本(shell script)是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管道命令以及数据流重导向等功能,以达到我们所想要的处理目的。说白了,就是为了解决linux的实际问题,临时写的一个小程序来完成当前的工作,如果需要多次使用,还能保存下来循环使用。

二.脚本的规范

脚本使用了shebang机制,即这样的格式:!#/bin/bash、!#/use/bin/python。需要简单的进行shell脚本的解释。下面举一个样例:

#!/bin/bash
# ——————————————
# Filename: hello.sh
# Revision: 1.1
# Date: 2017/08/05
# Author: Mr.Dong
# Email: Dong@gmail.com
# Website: www.magedu.com
# Description: This is the first script
# ——————————————
echo “hello world”

利用这些信息,可以很快知道这个脚本的用处,以便于工作的使用。

在运行的时候可以使用下面两条命令进行脚本调试

bash -n hello.sh 来查看脚本的语法错误

bash -x hello.sh 可以查看脚本的执行步骤

三.变量

1.本地变量

本地变量只对当前shell有效,对子shell无效(SHLVL查看是几级shell)。

变量赋值:name=’value’

字符串赋值:name=”root”

变量引用:name=”$USER”

命令引用:name=COMMAND name=$(COMMAND)

显示已定义的所有变量:set

删除变量:unset name

2.环境变量

环境变量对当前SHELL及其子SHELL均有效。

变量的声明和赋值命令:

export name=VALUE
declare -x name=VALUE

变量的引用:$name,${name}

显示所有的环境变量命令:

env printenv export declare -x

bash自带环境变量:

PATH SHELL USER UID HOME PWD SHLVL LANG MAIL HOSTNAME HISTSIZE

3.只读变量

声明只读变量:

readonly name
declare -r name

查看只读变量: readonly -p

4.位置变量

$1, $2, … :对应第1 、第2 等参数,shift [n] 换位置

$0:  命令本身

$:  传递给脚本的所有参数,全部参数合为一个字符串

$@:  传递给脚本的所有参数,每个参数为独立字符串

$#:  传递给脚本的参数的个数

$@ $  只在被双引号包起来的时候才会 有 差异

家电小商城网站源码1.0
家电小商城网站源码1.0

家电公司网站源码是一个以米拓为核心进行开发的家电商城网站模板,程序采用metinfo5.3.9 UTF8进行编码,软件包含完整栏目与数据。安装方法:解压上传到空间,访问域名进行安装,安装好后,到后台-安全与效率-数据备份还原,恢复好数据后到设置-基本信息和外观-电脑把网站名称什么的改为自己的即可。默认后台账号:admin 密码:132456注意:如本地测试中127.0.0.1无法正常使用,请换成l

下载

set —

四.算术运算与逻辑运算

1.算术运算

算数运算符:+ – * / %(取余) **(乘方)

常用的运算:

(1) let var= 算术表达式

(2) var=$[ 算术表达式]

(3) var=$(( 算术表达式))

(4) var=$(expr arg1 arg2 arg3 …)

(5) declare –i var =  数值

(6) echo ‘ 算术表达式’ | bc

产生随机数命令:echo $[$RANDOM%number]  0-number之间的随机数

赋值运算:+= -= *= /= %=

自增和自减:

let var+=1
let var++
let var-=1
let var–

2.逻辑运算

true=0 false=1

与 1&&1=1 1&&0=0 0&&1=0 0&&0=0

或 1||1=1 1||0=1 0||1=1 0||0=0

非 !1=0 !0=1

五.test命令

test命令是shell环境中测试条件表达式的实用工具。

例如:

test “$A” == “$B” && echo “Strings are equal”
[ “$A” == “$B” ] && echo “Strings are equal”

这两种表述表达同一种意思。

[[  ]]表示支持正则表达式

数值比较:         字符串比较:

-gt 是否大于      >

-ge 是否大于等于  >=

-eq 是否等于      ==

-ne 是否不等于    !=

-lt 是否小于      

-le 是否小于等于  

相关推荐:《Linux视频教程

相关专题

更多
html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

37

2026.01.21

三角洲入口地址合集
三角洲入口地址合集

本专题整合了三角洲入口地址合集,阅读专题下面的文章了解更多详细内容。

17

2026.01.21

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

227

2026.01.21

妖精漫画入口地址合集
妖精漫画入口地址合集

本专题整合了妖精漫画入口地址合集,阅读专题下面的文章了解更多详细内容。

59

2026.01.21

java版本选择建议
java版本选择建议

本专题整合了java版本相关合集,阅读专题下面的文章了解更多详细内容。

3

2026.01.21

Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

14

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

6

2026.01.21

无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

27

2026.01.21

Python多线程合集
Python多线程合集

本专题整合了Python多线程相关教程,阅读专题下面的文章了解更多详细内容。

1

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.5万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号