shell脚本(一)

Shell
1.概述
Shell是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核
还是一个功能相当强大的编程语言,易编写.易调试.灵活性强
2.shell解析器
查看linux提供的shell解析: cat /etc/shells

Sh和 bash是常用的 bash包含了其他的功能,进行了重新编写
查看默认解析器:echo $SHELL (centos默认的解析器是bash)
3.Shell 脚本入门
3.1脚本格式
脚本为 #!/bin/bash 开头 (指定的解析器)
创建脚本 touch 脚本名.sh
例如:创建脚本并在脚本中输入helloworld
Touch helloworld.sh
Vi helloworld .sh

#!/bin/bash
Echo “helloworld”

3.2脚本的常用执行方式
1.sh+脚本的相对路径
例:sh helloworld.sh
2.sh+脚本绝对路径
例:sh /home/bxg/helloworld.sh
3.bash+脚本的相对路径
例:bash helloworld.sh
4.bash+脚本的绝对路径
例:bash /home/bxg/helloworld.sh

3.3 进阶版 采用输入脚本的绝对路径或相对路径执行脚本(前提是必须具有可执行权限+x,推荐采用这种方式)
第一步 :赋予helloworld.sh 脚本 的+x权限
例:chmod +x helloworld.sh
第二步:执行
例:./helloworld.sh
注意:第一种方法本质是bash解析器帮你执行脚本,所以脚本本身并不需要执行权限。
第二种执行方式本质是脚本需要自己执行,所以需要执行权限。
3.4 多命令处理
需求:在home/bxg/目录下创建一个a.txt ,在a.txt文件中增加nihao
例:
Touch batch.sh 创建脚本
Vi batch.sh 编辑脚本

#!/bin/bash 规定开头
Cd/home/bxg
Touch a.txt
Echo “nihao” >>a.txt
3.5 查看脚本的执行流程(一般用来查看脚本执行的步骤,错误)
Bash -x batch.sh
3.6 查看脚本的语法(一般使用这个命令查看脚本语法错误)
Bash -n batch.sh
4 Shell中的变量
4.1系统变量
常用的有$HOME $PWD $SHELL $USER 等
例:
1查看系统变量的值 Echo $HOME
2 显示当前Shell中所有变量 set

4.2 自定义变量
4.2.1.语法
定义变量:变量=值 中间不能有空格
撤销变量:unset 变量
声明静态变量:readonly 变量 这个变量只能读,不能修改或者撤销
4.2.2规则
变量名称可以由字母/数字和下划线组成,但是不能以数字开头,环境变量名建议大写
等号两侧不能有空格
在bash中,变量默认类型都是字符串类型,无法直接进行数值运算。
变量的值如果有空格,需要用双引号或单引号括起来。

例:
定义变量A A=5
查看变量 $A
重新赋值 A=3
撤销变量A unset A
声明静态变量B readonly B=2
变量无法进行数值计算

变量的值如果有空格,需要使用双引号或单引号括起来

4.2.3把变量提升为全局环境变量 可供其他shell程序使用
Export + 变量名
4.3 特殊变量
4.3.1 $n
n 功 能 : n 为 数 字 , n 功能:n为数字, nnn代表该脚本名称,$1-$9代表第一到第九个参数, 十以上的参数需要用大括号包含
例:

4.3.2$#
$# 功能:获取所有输入参数个数,常用于循环

4.3.3$* $@
∗ 功 能 : 代 表 命 令 行 中 所 有 的 参 数 , * 功能:代表命令行中所有的参数, *把所有的参数看成一个整体
@ 功 能 : 功 能 一 样 , 但 是 @ 功能:功能一样,但是 @@是把每个参数区分对待

4.3.4 $?
$? 功能:最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个 命令正确执行;如果非0.则证明上一个命令执行不正确了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值