Shell1

Posted 码农编程录

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell1相关的知识,希望对你有一定的参考价值。


1.简介

Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。
在这里插入图片描述
在这里插入图片描述

2.变量

定义变量修饰词:readonly定义只读变量,unset删除变量。
在这里插入图片描述
在这里插入图片描述
一般使用变量时候需要使用$符号加上变量名,或者使用$符号加上变量名,并且变量名用{}括起来。
在这里插入图片描述
如果字符串中有空格,必须需要使用引号(str=hello world会报错)。双引号的优点,一是双引号里可以有变量,二是双引号里可以出现转义字符。
str=hello
str=‘this is a string’
str=“this is a string”

拼接:str=hello,str=$str world

获取字符串长度:使用#号: 显示字符串长度:echo ${#str}
使用expr length:expr length “${str}”

截取字符串:使用冒号:
echo ${str:1:4} 显示字符串第1到第4个字符。
echo ${str:4} 从左边第4个字符开始,一直到结束。
echo ${str:0-6:3} 从倒数第6个字符开始的3个字符
echo ${str:0-6} 从倒数第6个字符开始,一直到结束

删除匹配字符串:
使用#:echo ${str#*${str1}}删除从左边开始到第一个“str1”字符,保留其右边字符。
使用##:echo ${str##*${str1}}删除从左边开始到最后一个“str1”字符,保留其右边字符。
使用%:echo ${str%${str1}*}删除从右边边开始到第一个“str1”字符,保留其左边字符。
使用%%:echo ${str%%${str1}*} 删除从右边开始到最后一个“str1”字符,保留其左边字符。

字符串查找:使用expr index:echo expr index "$str" hl 在字符串中查找h或l的位置。

3.设置与别名

set指令能设置所使用shell的执行方式。
在这里插入图片描述
在这里插入图片描述

4.echo、printf、重定向、exit

不添加引号,转义将不被执行,如下转义。
在这里插入图片描述
echo中> #覆盖输出。>> #输出到文件末尾。
在这里插入图片描述
command > /dev/null 2>&1 #执行命令,不在屏幕上显示输出结果和错误。

/dev/null 是一个特殊的文件,写入到它的内容都会被丢弃;从该文件读取内容,那么什么也读不到。然而 /dev/null 文件非常有用,可以将命令的输出重定向到它,以起到"禁止输出"的效果。
在这里插入图片描述
$?获取退出的值。
在这里插入图片描述

5.declare与let

在这里插入图片描述
let 命令和双小括号 (( )) 的用法是类似的,它们都是用来对整数进行运算,不能对小数(浮点数)或者字符串进行运算。
在这里插入图片描述

6.函数与传参

在这里插入图片描述
如果shell脚本传递的参数中包含空格,应该使用单引号或者双引号将该参数括起来,以便于脚本将这个参数作为整体来接收。if [ -n str1 ] 当串的长度大于0时为真(串非空) 。
在这里插入图片描述
在这里插入图片描述

7.test

test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。
在这里插入图片描述

8.运算:算术、关系、布尔、逻辑、字符串、文件运算

算术:
在这里插入图片描述
关系:
在这里插入图片描述
在这里插入图片描述
布尔:
在这里插入图片描述
逻辑:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
文件测试运算:
在这里插入图片描述
在这里插入图片描述

9.流程控制:if、for、while、case

if:
在这里插入图片描述
for:
在这里插入图片描述
while:
在这里插入图片描述
until:
在这里插入图片描述
case:
在这里插入图片描述
break与continue:
在这里插入图片描述
在这里插入图片描述

以上是关于Shell1的主要内容,如果未能解决你的问题,请参考以下文章

shell1

Linux与Shell1. Linux常用的命令

Linux与Shell1. Linux常用的命令

Shell1

Shell1shell语法,ssh/build/scp/upgrade,环境变量,自动升级,wtd节点,busybox,PECI,软连接

爬虫2.3-scrapy框架-postshell验证码