shell入门(2)——基本数据类型与数学运算

基本数据类型

shell语言是一门弱类型语言,无论输入的是字符串还是数字,shell都是按照字符串类型来进行存储的,具体属于什么数据类型,shell会根据上下文进行确定

变量的使用

上面提到过,shell是一门弱类型的语言,所以变量可以不用定义就直接用,有如下几种引用方式

  1. 直接用$引用
word = 'my shell'
echo $word
//结果输出 my shell
  1. 使用${}引用
word = 'my shell'
echo ${word}
//结果输出 my shell

使用小建议

原则上来说,使用第一种和第二种都是可以的,在简单的场景下区别不大,但是在较为复杂的环境下,第二种会比第一种更易于阅读和理解,而且很多公司内部使用shell的时候,都采用第二种引用方式,因此推荐第二种写法

打印字符

打印字符主要有2条命令,下面会对这两条命令进行分析

echo命令

  1. 直接输出
说明:
直接输出echo后面的字符串

格式:
echo 内容

示例:
echo I'm a student
//结果输出I'm a student

缺点:无法识别; 如果echo 后面的内容包含分号,程序会认为代码结束,换下一行
  1. 单引号引用
说明:
直接输出echo后面的单引号内的字符串

格式:
echo '内容'

示例:
echo I'm a 'student'
//结果输出I'm a student

缺点:无法识别变量,会直接输出变量名,而不会输出变量值
  1. 双引号引用
说明:
直接输出echo后面的双引号内的字符串和变量

格式:
echo '内容'

示例:
role = student
echo "I'm a ${role}"
//结果输出I'm a student

缺点:无法识别变量,会直接输出变量名,而不会输出变量值

printf命令

printf可以格式化打印字符串,方便阅读,其实这个命令和c语言中的printf使用时很类似的,格式如下

printf "打印此 %s 的内容 " 占位符
//结果会输出:打印此 占位符 的内容

占位符有如下4种格式
- s:string字符串
- d:decimal整数
- c:char字符
- f:float浮点数

数学运算

以加法运算为例,主要有以下三种方式进行运算

  1. expr方式
#!bin/bash
a = `expr 1 + 2`
echo $a

//结果输出:3
//注意`是键盘左上方数字键1左边那个符号,不是单引号
  1. let方式
#!bin/bash
let a=1+2
echo $a

//结果输出:3
  1. (())方式
#!bin/bash
((a = 1 + 2))
echo $a

//结果输出:3

错误示范:

#!/bin/bash
a=1+2
echo $a
//结果输出:1+2

猜你喜欢

转载自blog.csdn.net/x1032019725/article/details/81035770