Shell编程规范与变量

Shell 脚本概述

Shell的作用

inux 系统中的 Shell 是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个“ 命令解释器 的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。

 编写第一个 简单的Shell 脚本

简单地说,只要将平时使用的各种 Linux 命令按顺序保存 到一个文本文件中,然后添加可执行权限,这个文件就成为一个 Shell 脚本了。执行操作可以创建第一个脚本文件:aaa.sh(文件名随便起)。
然后可以使用   ./aaa.sh  命令执行,如果提示权限不够可以使用 chmod +x aaa.sh 命令对权限进行更改。
再去 vim 编辑器里添加以下代码:
可以使用 ./aaa.sh     sh aaa.sh    bash aaa.sh    . aaa.sh  source aaa.sh  来执行

注释:“./”、sh、bash是相同的执行方式,“.”和source是相同的source和“.”执行脚本时,将脚本中语句在本shell中执行,sh、bash和./是在执行脚本时先启动一个新的shell,然后让脚本中的语句在新的shell中执行,执行完后就退出。

重定向与管道操作
重定向
1:重定向输出

uname -r >> kernel.txt       \\追加并保存,不覆盖原有的数据

2:重定向输入

passwd --stdin aaa <pass.txt       \\selinux要设置为disabled                创建账号密码可以跳过交互界面

3.重定向错误

管道操作

使用shell变量

三:使用shell变量

变量名不能用数字开头

变量名中不能有小数点

变量名不能用纯数字

变量名可以是字母开头再加数字,或下划线开头加字母或数字

变量名中不能有斜杠“/”、“$”、“#”、“@”等特殊符号

等号前后不能加空格

自定义变量

查看和引用变量的值

变量赋值的特殊操作

双引号

双引号可用于字符串的声明双引号中的$符号或当做变量进行输出。连续的字符可以省略双号,字符串中有空格的话就不能省略,另外,声明的变量值中如果要引用另一个变量,也需要双引号。

单引号

单引号用于原样输出的变量声明,意思是变量的值中需要保留显示$符号

反撇号

反引号用于命令的引用,相当于$(),区别在于反引号不能嵌套,而$()可以嵌套

-qf:查找该文件属于哪一个已安装的软件包

-qc:列出该软件包生成的所有文件

read命令

设置变量的作用范围

数值变量的运算

\

特殊的shell变量

1:环境变量

set命令也可以显示环境变量,它显示的是系统中所有的环境变量,包括全局变量和局部变量env只显示全局变量

2:位置变量

预定义变量
预定义变量

$# 传送给命令Shell的参数个数

$- 在Shell启动或使用set命令时提供选项

$? 上一条命令执行后返回的值

$$ 当前shell的进程号

$! 上一个子进程的进程号

$@ 所有的参数,每个都用双括号括起

$* 所有参数,用双括号括起

$n 位置参数值,n表示位置

$0 当前shell名

备注:

$@:输出所有参数,把输出的参数当做一个个独立的单词,便于遍历所有的参数

$*:输出所有参数,把所有输出的参数当做一个整体。

这两个变量在输出时,视觉上是一样的,但存储方式不一样

  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值