共计 2103 个字符,预计需要花费 6 分钟才能阅读完成。
这篇“linux 中 shell 脚本指的是什么”文章的知识点大部分人都不太理解,所以丸趣 TV 小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux 中 shell 脚本指的是什么”文章吧。
在 linux 中,shell 脚本是一种编程方式,就是一些命令的集合。shell 脚本将一些 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: 命令本身
$: 传递给脚本的所有参数,全部参数合为一个字符串
$@: 传递给脚本的所有参数,每个参数为独立字符串
$#: 传递给脚本的参数的个数
$@ $ 只在被双引号包起来的时候才会 有 差异
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 中 shell 脚本指的是什么”这篇文章的内容,相信大家都有了一定的了解,希望丸趣 TV 小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注丸趣 TV 行业资讯频道。