shell语言基础

文章介绍了如何创建和运行bashshell脚本,包括脚本的基本格式、变量的使用(如定义、撤销、静态变量),特殊变量如$n的含义,以及运算符、条件判断和流程控制结构(如if、for、while)。此外,还提到了read命令用于读取用户输入,以及一些shell工具如cut、sed、awk和sort的功能和用法。
摘要由CSDN通过智能技术生成

创建shell文件:touch xx.sh,然后vim编辑sh文件
运行shell文件:bash xx.sh

1.脚本格式:
脚本以#!/bin/bash开头(指定解释器)

2.基本语法:
查看变量:echo $变量
定义变量:变量=值(=左右无空格)
撤销变量:unset 变量
声明静态变量:readonly 变量(不能unset)
在bash中,变量默认类型都是字符串类型,无法之间进行数值运算
可以把变量提升为全局变量供其他shell程序使用:export 变量名

3.特殊变量:$n(n为数字,$0代表该脚本名称, 1 − 9 代表第 1 到 9 个参数, 10 以上的参数需要用大括号包含 1-9代表第1到9个参数,10以上的参数需要用大括号包含 19代表第19个参数,10以上的参数需要用大括号包含{10})
$#(获取所有输入参数个数,常用于循环)
$*(代表命令行中所有的参数,把所有参数看成一个整体)
$@(代表命令行中所有的参数,把所有参数区分对待)
? (判断上一条命令是否正确执行,如果返回状态为 0 ,表示上一条正确执行,其他数字则表示上一条没有正确执行) 4. 运算符基本语法: 1. ?(判断上一条命令是否正确执行,如果返回状态为0,表示上一条正确执行,其他数字则表示上一条没有正确执行) 4.运算符 基本语法:1. ?(判断上一条命令是否正确执行,如果返回状态为0,表示上一条正确执行,其他数字则表示上一条没有正确执行)4.运算符基本语法:1.((运算式))或者$[运算式]
2.expr +,-,*,/,% 加减,乘,除,取余(expr运算符间要有空格)

5.条件判断
基本语法: condition
常用判断条件:
两个整数之间的比较:=字符串比较
-lt小于 -le小于等于 -eq等于 -gt大于 -ge大于等于 -ne不等于
按照文件权限进行判断:
-r读 -w写 -x执行
按照文件类型进行判断:
-f文件存在并且是一个常规文件 -e文件存在 -d文件存在并且是一个目录

多条件判断:(&&表示前一条命令执行成功时才执行后一条命令。||表示前一条命令执行失败后,才执行下一条命令。)

6.流程控制
(if后要有空格,条件表达式和[]之间要有空格)
if [ 条件判断式 ];then
程序
fi
或者:
if [ 条件判断式 ]
then
程序
fi

for循环:
for((初始值;循环控制条件;变量变化))
do
程序
done
或者
for 变量 in 值1 值2 值3…
do
程序
done

while循环:
while [ 条件判断式 ]
do
程序
done

7.read读取控制台输入
read(选项)(参数)
选项:-p:指定读取值时的提示符
-t:指定读取值时的等待时间(秒)
参数:
变量:指定读取值的变量名
例:提示7秒内,读取控制台输入的名称。
#!/bin/bash
read -t 7 -p “enter your name in 7seconds” NAME
echo $NAME

8.函数
1.basename[pathname/string] suffix
2.dirname 文件绝对路径(从给的绝对路径去除文件名,返回剩下的目录部分的路径)

自定义函数:
[function] funname[()]
{
action
[return int]
}
funname

9.shell工具
9.1 cut(从文件的每一行剪切数据并输出)
cut[选项参数] filename(选项参数:-f(列号,提取第几列);-d(分隔符,按照指定分隔符分割列))
9.2 sed(修改文件输出,但不修改文件本身)
sed[选项参数] ‘command’ filename
选项参数:‘-e’,执行多个命令时需要添加
命令:‘a’:新增
‘d’:删除
‘s’:查找并替换
9.3 awk

9.4 sort(将文件进行排序,并将结果标准输出)
sort(选项)(参数)
选项:-n(按照数值的大小排序)
-r(以相反的顺序来排序)
-t(设置排序时所用的分隔字符)
-k(指定需要排序的列)
参数:指定待排序的文件列表

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值