![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shell
S_o_l_o_n
logic
展开
-
linux shell 字符串处理
s1="hello"s2="world"1 字符串拼接s3=$s1$s2echo $s3 ---> helloworld2 截取s1第2-4个字符s4=${s1:1:3} 1为起始下标,3为从下标1开始截取3个字符,第一个下标从0开始计算。echo $s4 ----> ell3 将s1转成大写s5=`echo ${s1} | tr 'a-z' 'A-Z'`echo $s5 ----> HELLO要将大写转成小写,只需...原创 2021-01-06 19:17:17 · 248 阅读 · 0 评论 -
linux shell 获取指定日期的相邻日期和月份
目的:获取20201025的未来n天和n个月,且按照%Y%m%d格式输出命令:获取未来两天日期:date -d "20201025 +nday" +%Y%m%d获取下一个月份:date -d "20201025 +nmonth" +%Y%m同样地,如果要获取指定日期的前n天和n月,将+改成减号即可。还可以将day month替换成year week等,获取移动相应的年份和周的日期。...原创 2021-01-06 19:07:19 · 1037 阅读 · 0 评论 -
shell脚本中$*和$@的区别
$*和$@都是用来一次性获取所有脚本参数或者函数参数的,参数都会以字符串的形式返回,如下所示。#下面是example.sh脚本的代码#!/bin/bashs1=$*s2=$@echo $s1echo $s2for i in $s1;do echo $idonefor i in $s2;do echo $idone 然后我们用下面的方式运行脚本,或得到相应的输出,如下所示。可以看到,$*和$@两者目前没有体现出任何区别。./...原创 2020-09-03 16:26:01 · 1259 阅读 · 0 评论 -
shell脚本的运行机制以及异常退出分析
本文这里说的shell指的是shell脚本语言,我们在使用shell脚本时,有时会感到困惑,即shell脚本里面的命令明明执行失败了,但是还可以继续执行,而不是自动退出,而这有时候确实也会导致我们非预期的行为。当我们习惯了其他的编程语言,突然遇到shell脚本的时候,确实难免会产生这样的疑惑。因为一般其他的编程语言出现报错的时候,只要没有捕捉异常,就会运行不成功而自动退出。至于为什么shell脚本语言和其他一般的编程语言会有这样的区别,还是得先大概了解一下shell脚本的运行机制。 ...原创 2020-08-29 22:07:05 · 4876 阅读 · 0 评论 -
shell编程踩坑之避免使用PATH作为常规变量
作为一个shell编程小白,笔者在写一个shell脚本的时候,使用了PATH作为普通变量保存了一个常规路径,结果就导致脚本中一些其他命令失效了。 原因在于,PATH是shell的关键字,其具有特殊含义,表示环境变量,所以当我使用PATH变量作为普通变量使用后,相当于暂时改变了环境变量,同时因为很多的linux shell命令的调用都是依赖环境变量的,所以改变了环境变量会导致这些命令失效,即在新的环境变量的路径下找不到相应的命令。因此,避免将PATH作为普通变量使用。...原创 2020-05-21 20:34:33 · 356 阅读 · 0 评论 -
Shell编程踩坑之换行符问题 line num: syntax error near unexpected token
笔者踩坑的过程为:在windows系统上写了一个shell脚本,然后直接在Linux上执行,结果发生了报错,具体报错类似于line num: syntax error near unexpected token `$'do\r`,这里笔者在shell脚本里写了一个for循环,结果报了语法错误。 具体的报错是在for循环的do换行这里,因为笔者的shell脚本是在windows上写的,windows系统上新建文件默认的换行符为\r\n,而linux上的默认换行符是\n,所以对于sh...原创 2020-05-21 20:28:18 · 903 阅读 · 0 评论 -
linux shell编程之小白入门
shell其实是相对于系统内核而言的,其是内核外层的一层“壳”,作用在于提供一个用户图形界面让使用者可以通过一些命令和操作系统进行交互,从而完成一些动作。linux shell自然就是Linux系统的那一层“壳”,同样的还有windows shell。因为在shell上和os进行交互操作,需要输入特定的命令,shell语言就是这些命令的集合以及一些额外的语法抽象层。笔者作为一个linux shell的小白,本文将记录一下关于linux shell的基于概念和语法,作为一次简单的linux sh...原创 2020-05-17 18:30:41 · 513 阅读 · 0 评论