shell编程基础shell入门[B站-超哥说shell笔记]

Posted "sudo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程基础shell入门[B站-超哥说shell笔记]相关的知识,希望对你有一定的参考价值。

文章目录

内容不全,只记录了我认为重要的!!!
酌情参考吖

常见基础

shell脚本–转义和引用
Shell反引号、 ( ) 和 ()和 ()的区别

一、特殊变量

$0	#当前文件名
$?	#上一条命令的执行结果
# 关于传参
$#	#参数个数
$1,$2,...$n	#取输入参数值
$!	#获取上一次后台执行的程序的PID
$$	#获取当前脚本的PID
$_	#获取上一条命令的最后一个参数

面试:怎样让程序后台执行?

ans:

# 以某shell脚本为例
nohup bash ***.sh & 1> /dev/null

二、shell子串

2.1 基础内置命令

echo	#不可以自动识别特殊字符,需要加参数
printf	#可以自动识别特殊字符,但是默认不换行
eval	#执行多个命令;
exec	#不创建子进程,执行后续命令,且执行完毕后,自动exit
export	#取环境变量
read	#接收命令行输入
shift	#参数左移
test	#

具体请参考:
shell编程 | shift命令用法笔记,作者:温家三哥
菜鸟教程 | shell -test用法


下面是上述内置命令的详细介绍,如果了解,可以略过。

echo

-n	#不换行输出
-e	#解析字符串中的特殊字符

\\n	#换行
\\r	#回车
\\t	#制表符
\\b	#退格

eval
执行多个命令

eval ls ; cd /home	#会先执行 ls 命令;再切换至/home目录

exec

不创建子进程,执行后续命令,且执行完毕后,自动exit

exec date

2.2 shell子串的花样玩法

#不一定常用,记录最常用的几个
$var	#返回变量var的值
$#var	#返回变量var的长度,有多少个字符
$var:start	#返回变量start数值之后的字符
$var:start:length	#提取start之后的length限制的字符
$var#word	#从变量开头,删除最短匹配的word字串
$var##word	#从变量开头删除最长匹配的word字串
$var%word	#从变量结尾删除最短的word
$var%%word	#从变量结尾删除最长匹配的word
$var/pattern/string	#用string代替第一个匹配的pattern
$var//pattern/string	#用string代替所有的pattern

解释常用的几个

# 0,1,2,3...
name="helloworld"
$#name  # 返回值为10
$name:4	# 返回 world

$name#hello	#返回 world
$name%world	#返回 hello

$name/hello/fuck	#返回 fuckworld

2.3 变量长度的计算

  1. $#name
  2. expr
  3. wc -L
  4. awk

for循环规则

# 多行
for num in 1..100
do 
	echo $name
done

# 一行
for num in 1..100;do echo $name;done

seq 命令

seq 3	
# 1
# 2
# 3 
seq -s ":" 3	# 1:2:3
for n in 1..3
do 
	str=`seq -s ":" 10`
	echo $str
done

time命令

以上是关于shell编程基础shell入门[B站-超哥说shell笔记]的主要内容,如果未能解决你的问题,请参考以下文章

Shell 编程基础 --语法快速入门

shell编程入门

linux下shell编程基础入门

shell编程快速入门

Shell脚本入门基础

Shell 编程入门