Shell 入门教程(六):基本数据类型

文章首发于【陈树义的博客园】,点击跳转到原文:https://www.cnblogs.com/chanshuyi/p/quick_start_of_shell_06_basic_data_type.html

Shell 语言是一门弱类型的语言,它并没有数据类型上的概念。无论你输入的是字符串、数字,在 Shell 中都按照字符串类型来存储。至于具体是什么类型,Shell 根据上下文去确定。 例如下面当你尝试对一个字符串进行加一操作时,Shell 运行时便会报错。

#!/bin/bash
num="Hello"
echo `expr $num + 1`	//expr: not a decimal number: 'Hello'
num=1
echo `expr $num + 1`	//2

这是因为虽然 Shell 语言是弱语言类型,但其解释执行的时候会进行语法检查。意识到 Shell 在数据类型上的特殊性很重要,这样你就不会犯一些基础错误了。例如下面的例子:

result="false"
if $result
then
	echo "true."
else 
	echo "false."	# 输出false
fi

虽然上面的 result 变量是一个字符串,但是实际上在运行时,Shell 是将其当成一个布尔型的值进行比较的。当你将 result 改成 true 之后,结果便会输出 true。

文章首发于【陈树义的博客园】,点击跳转到原文:https://www.cnblogs.com/chanshuyi/p/quick_start_of_shell_06_basic_data_type.html

posted @ 2020-10-31 22:39  陈树义  阅读(729)  评论(0编辑  收藏  举报