当前位置:网站首页>Shell脚本基本语法
Shell脚本基本语法
2022-07-05 07:50:00 【群野】
Mac电脑下Bash,是Unix shell的一种,开发者通过shell脚本中间件调用系统内核,所以苹果开发者很有必要学习一下。
1创建和输出
1-1创建Shell文件
命令:touch hello.sh
1-2定义文件声明
#!/bin/bash
#!:表示约定标记,他会告诉系统这个脚本需要什么样子的解释器来执行,既是一种脚本体现。'#'注释,注意:在Shell脚本中,没有多行注视,只有单行注释 。
echo “Hello world!”
1-3执行Shell脚本hello文件
命令:./hello.sh
查看和修改文件权限
查看命令:ls -l hello.sh
修改命令: chmod +x ./hello.sh
-rwxr-xr-x
1-4 变量操作
- 赋值不要有空格
name="Kenny"
不能写成name = "Kenny"
变量名首字母必须是‘a-z’或‘A-Z’见的字母, 只读变量不能被修改,审美readonly name
- 删除变量
unset name
- 特殊变量
${0}
:文件名称${?}
:表示返回上一个命令执行状态返回值$#
:参数个数$*
:参数列表,组合字符串[email protected]
:参数列表$$
:后去当前shell进行ID$!
:执行上一个指令PID
1-5 字符串拼接、截取 、删除
- 拼接
#!/bin/bash
name='Andy'
age=100
sex="男"
info=" 姓名:'${name}' 年龄:'${age}' 性别:'${sex}' "
echo ${info}
- 截取
变量名:起始:结束,结果’have’
name="I have a Dream"
result=${name:2:4}
echo ${result}
求变量长度length=${#name}-1
结束位置可以不写,表示到结束
name="I have a Dream"
result=${name:5:length-1}
echo ${result}
- 删除
#语法一:${变量名#删除字符串 正则表达式}
从第一个开始删除##语法二:${变量名##删除字符串 正则表达式}
从最后一个开始删除%语法三:${变量名%删除字符串 正则表达式}
查找指定字符第一个,并且删除前面所有字符(包含自己)%%语法三:${变量名%%删除字符串 正则表达式}
查找指定字符最后一个,并且删除前面所有的字符(包含自己)
删除范围:从左边删除到右边
#->表示查询方向从左到右
%->表示查询方向从右到左
删除范围:从右边删除到左边
##->表示查询方向从右到左
%%->表示查询方向从左到右
案例一:查找指定字符第一个,并且删除后面所有的字符(包含自己)
#
从左边开始找第一个,并且删除前面所有字符(包含自己)
name="I have a Dream"
result=${name#*a}
echo ${result}
结果
ve a Dream
##
从右边开始找第一个,并且删除前面所有字符(包含自己)
name="I have a Dream"
result=${name##*a}
echo ${result}
结果
m
案例二:查找指定字符第一个,并且删除后面所有字符(包含自己)
%
从右边开始找第一个,并且删除后面所有字符(包含自己)
name="I have a Dream"
result=${name%a*}
echo ${result}
结果
I have a Dre
%%
从左边开始找第一个,并且删除后面所有字符(包含自己)
name="I have a Dream"
result=${name%%a*}
echo ${result}
结果
I h
边栏推荐
- Esmini longspeedaction modification
- Linked list (establishment, deletion, insertion and printing of one-way linked list)
- P3D gauge size problem
- Markdown tips
- Global and Chinese market of blackbody calibration source 2022-2028: Research Report on technology, participants, trends, market size and share
- Differences between pycharm and idle and process -- join() in vs Code
- Cadence learning records
- Global and Chinese markets for waste treatment air switches 2022-2028: Research Report on technology, participants, trends, market size and share
- From then on, I understand convolutional neural network (CNN)
- Global and Chinese markets for flexible endoscopic lithotripsy devices 2022-2028: Research Report on technology, participants, trends, market size and share
猜你喜欢
LED display equipment records of the opening ceremony of the Beijing Winter Olympics
Numpy——1.數組的創建
软件设计师:03-数据库系统
如何将EasyCVR平台RTSP接入的设备数据迁移到EasyNVR中?
Extended application of single chip microcomputer-06 independent key
L'étude a révélé que le système de service à la clientèle du commerce électronique transfrontalier a ces cinq fonctions!
Openxlsx field reading problem
Can't find real-time chat software? Recommend to you what e-commerce enterprises are using!
Scm-05 basis of independent keyboard
Embedded AI intelligent technology liquid particle counter
随机推荐
Function and usage of function pointer
NSIS search folder
Cadence simulation encountered "input.scs": can not open input file change path problem
Opendrive ramp
Pointnet++ classification practice
Esmini longspeedaction modification
[neo4j] common operations of neo4j cypher and py2neo
Count and sort the occurrence times of specific fields through SQL statements
1089 insert or merge, including test point 5
MySql——存储引擎
Altium Designer 19.1.18 - 导入板框
Ads usage skills
Oracle triggers and packages
The research found that the cross-border e-commerce customer service system has these five functions!
.NET服务治理之限流中间件-FireflySoft.RateLimit
Query the table name used by kettle in Oracle
LED display equipment records of the opening ceremony of the Beijing Winter Olympics
Markdown tips
Apple terminal skills
Let me teach you how to develop a graphic editor