-脚本基础

一、脚本基础

1、shell编程介绍与特性

Shell是种命令解释程序,也可以看作是一种命令语言的解释器。用户在与Shell交互时所输入的命令行必须符合Shell命令的语法和语义规范,
才能够被Shell理解并执行。Shell所使用的这种命令语言称为Shell语言。Shell语言不仅仅是一种交互式语言,它还是一种可编程的程序设计语言。
将若干个Shell命令行写入个文件就构成了一个Shell程序,它可以被Shell逐条地解释执行。用Shell语言编写的Shell程序可以使用各种变量、
参数和控制结构来组织命令流程,自动化地完成各种复杂冗繁的处理工作。

Linux系统中广泛使用了Shell程序来实现系统的初启、配置、管理和维护等工作。因此,熟练掌握Shell语言可以更加深入地理解系统的运行机制,
更加有效地使用和管理系统。

Shell语言的特点:
  与其他编程语言相比,Shell语言具有如下特点:

(1)Shell是一种解释性语言。这就是说,用Shell语言写的程序不需编译,可以直接由Shell进程解释执行。解释性语言的特点是快捷方便,
可以即编即用,但与编译性语言的目标程序来比,解释性语言程序的运行速度要低一些。

(2)Shell是基于字符串的语言。Shell只是做字符串处理,不支持复杂的数据结构和运算。Shell的输出也全部是字符方式的。

(3)Shell是命令级语言。Shell程序全部由命令而不是语句组成,几乎所有的Shell命令和可执行程序都可用来编写Shell程序。
Shell命令十分丰富,命令的组合功能也十分强大。所以,用简单的命令和命令组合形成的Shell程序即简洁又高效,可以实现各种复杂的功能。
另外需要说明的是,不同版本的Shell程序不完全兼容,差别可能是细微的,也可能是明显的。

Shell程序也称Shell脚本,是由一系列Shell命令为基本元素构成的文本文件。简单的Shell程序可以只是一个命令序列,
高级Shell程序中还可以包含复杂的命令组合,定义各种参数和变量、使用条件命令、控制结构以及其他高级特性。

2、变量

(1)什么是变量?
顾名思义,变量就是程序设计语言中的一个可以变化的量,当然,可以变化的是变量的值。变量几乎所有的程序设计语言中都有定义,
并且其涵义也大同小异。从本质上讲,变量就是在程序中保存用户数据的一块内存空间,而变量名就是这块内存空间的地址。
在程序的执行过程中,保存数据的内存空间的内容可能会不断地发生变化,但是,代表内存地址的变量名却保持不变。

(2)变量得命名
在shell中,变量名可以由字母、数字或者下划线组成,并且只能以字母或者下划线开头。对于变量名的长度,shell并没有做出明确的规定。
因此,用户可以使用任意长度的字符串来作为变量名。但是,为了提高程序的可读性,建议用户使用相对较短的字符串作为变量名。

在一个设计良好的程序中,变量的命名有着非常大的学问。通常情况下,用户应该尽可能选择有明确意义的英文单词作为变量名,
尽量避免使用拼音或者毫无意义的字符串作为变量名。这样的话,用户通过变量名就可以了解该变量的作用。

(3)变量的类型

  整形     int    age=10
  浮点型  float    salary=3.1

字符型:在shell中,加了引号的字符就是字符串类型 单引号 双引号 也可以不用引号
msg=“hello cy”
注意:字符串包含空格必须加引号

msg=cy
echo $msg
连续字符不加引号包含也是可以的,但是我们还是强烈建议加上引号,规范一些。

单引号和双引号的意义是不同的
双引号 “ ” 弱引用 引号的特殊字符有意义
单引号 ‘ ’ 强引用 引号内所有特殊字符都取消意义

[root@server ~]# name=“cy”
[root@server ~]# echo "KaTeX parse error: Expected 'EOF', got '#' at position 43: …[root@server ~]#̲ echo '{name} is good’
${name} is go

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值