191014笔记

shell
shell 命令行解释器 遵循一定的语法将输入的命令加以解释并传给系统。用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

运维工程师
shell
shell脚本编程
终端处光标处即为shell

shell----内核的封装 通过给shell传输相应的东西来访问内核
shell不能直接访问内核 而是调用程序来访问内核

shell可以理解可执行文件 应用程序
通过给shell传送命令 shell对此进行解析 再让用户访问相应的内核

shell1. 做命令解析 2. 调用相应功能
没有相应的功能,但可以调用相应的功能

脚本:做 批处理

什么时候使用shell:解决复杂的命令操作的时候使用shell

shell也可以理解为一种语言
语法->开发

shell
是命令 是程序设计语言
互动式的解释和执行用户输入的命令

定义了各种变量和参数 提供了许多在高阶语言中材具有的控制结构 包括循环和分支
调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行

python shell
shell可以直接使用linux系统内部目录
python则需调用函数等等实现该功能

不同命令解释器的语法不同
Bourne shell(sh)
Korn shell(ksh)
Bourne Again shell(bash)
C shell(csh & tcsh)
TENEX/TOPS C shell(tcsh)

shell提供了你与操作系统之间通讯的方式

脚本文件后缀一般为 .sh 现版本没有后缀仍能使用

shell有三种运行方式
sh hello.sh
bash hello.sh
(上为两种解析器解析脚本)
赋予可执行权限 chmod u+x hello.sh
然后./hello.sh

首行:#! /usr/bin/sh
(指定解析器)
前为未指定解析器,使用默认解析器

自动化运维:用一个步骤代替别人的十几个步骤
使用脚本: 实现自动化 机器代替自己来做一些操作

sh文件中需要#注释出来作用
只有linux里的某些配置文件(类似vimrc) 使用的注释是”

无需编译 直接运行
脚本语言:解释型语言(运行效率低 所有操作先给解释器 解释器再进行解释)
通过类似的解析器

变量: $()
变量赋值时 “=”两边都不能有空格
BASH中的语句结尾不需要分号

echo:shell的printf
name=zhangsan
echo $name
字符串:可用单引号 可用双引号(与以前语法相统一 所以统一双引号)

sum=1+2 默认的操作就是字符串 所以echo $sum 也是1+2

num=2
echo {$num}nd ->{2}nd
echo ${num}nd ->2nd

变量分为自动变量
默认变量
内建变量

$# 传入脚本的命令行参数个数

./hello.sh 1 2 3 1 2 3就是命令行参数

$*
$0命令行本身
$1第一个命令行参数
$2第二个命令行参数

如何定义局部变量:

整数也都是字符串
then和if同一行就加;
if后面要加fi

&& 前为真 后一句运行
|| 前为假 后一句运行

  • 当前目录的所有文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值