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的主要内容,如果未能解决你的问题,请参考以下文章
Shell1shell语法,ssh/build/scp/upgrade,环境变量,自动升级,wtd节点,busybox,PECI,软连接