shell_脚本开发前期回顾

发布时间 2023-10-10 10:26:31作者: WeChat2834
shell脚本内容回顾

内容回顾

shell执行多行命令:用分号隔开

也可以把复杂的命令执行过程,通过逻辑代码,组成一个脚本文件,再去执行该文件就行

shebang

执行脚本的方式,1. soruce 或点符号执行;2.用解释器sh ;3根据相对路径或者觉得路径去执行。

echo命令,在linux下的格式化打印

echo 和转义符的概念;所谓转义符就是还原原符号;另echo中使用单引号是强引用的意思,原样输出。

变量被引用的时候,会赋予其值,脚本中的变量,在shell执行完毕后,是否会消失,根据执行的方式决定

[root@localhost tmp]# echo $namess

[root@localhost tmp]# sh test01.sh 
Mrxu 已经学习了10天
[root@localhost tmp]# echo $namess

[root@localhost tmp]# source  test01.sh 
Mrxu 已经学习了10天
[root@localhost tmp]# echo $namess
Mrxu
[root@localhost tmp]# 

source 和点符号是在当前shell加载脚本,解释器调用脚本是新开启子shell,变量在子shell加载

shell特性;可以从命令执行结果中,再提取结果,因此特别适合编写脚本

  • $()
  • ``反引号
[root@localhost tmp]# echo "$(date)"
2023年 09月 15日 星期五 16:37:39 CST
[root@localhost tmp]# echo date
date
[root@localhost tmp]#

shell中特殊符号的整理

  • ${vars} 取出变量结果
  • $vars 取出变量结果
  • $() 提取命令执行结果
  • `` 提取命令执行结果
  • () 开启子shell执行
[root@localhost tmp]# date
2023年 09月 15日 星期五 16:46:40 CST
[root@localhost tmp]# $(date)
bash: 2023年: 未找到命令...
[root@localhost tmp]# echo "$(date)"
2023年 09月 15日 星期五 16:47:11 CST
[root@localhost tmp]# 
[root@localhost tmp]# echo $BASH_SUBSHELL
0
[root@localhost tmp]# (pwd;(pwd; echo $BASH_SUBSHELL))
/root/tmp
/root/tmp
2
[root@localhost tmp]#