美文网首页Shell
Shell基础脚本-数字常量

Shell基础脚本-数字常量

作者: Chris0Yang | 来源:发表于2021-11-18 22:14 被阅读0次

通常情况下: shell脚本会把数字以十进制整数看待(base 10),除非数字加了特殊的前缀或标记

带前缀0的数字是八进制数(base 8); 带前缀0x的数字是十六进制数(base 16)
内嵌 # 的数字会以 BASE#NUMBER 的方式进行求值(不能超出当前shell支持整数的范围)

样例-1. 数字常量的表示

#!/bin/bash
# numbers.sh: 不同进制数的表示

# 十进制数: 默认
let "dec = 32"
echo "decimal number = $dec"             # 32
# 一切正常。


# 八进制数: 带前导'0'的数
let "oct = 032"
echo "octal number = $oct"               # 26
# 结果以 十进制 打印输出了。
# ------ ------ -----------


# 十六进制数: 带前导'0x'或'0X'的数
let "hex = 0x32"
echo "hexadecimal number = $hex"         # 50

echo $((0x9abc))                         # 39612
#     ^^      ^^   双圆括号进行表达式求值
# 结果以十进制打印输出。



# 其他进制数: BASE#NUMBER
# BASE 范围:  2 - 64
# NUMBER 必须以 BASE 规定的正确形式书写,如下:

let "bin = 2#111100111001101"
echo "binary number = $bin"              # 31181

let "b32 = 32#77"
echo "base-32 number = $b32"             # 231

let "b64 = 64#@_"
echo "base-64 number = $b64"             # 4031

# 这种表示法只对进制范围(2 - 64)内的 ASCII 字符有效。
# 10 数字 + 26 小写字母 + 26 大写字母 + @ + _


echo

echo $((36#zz)) $((2#10101010)) $((16#AF16)) $((53#1aA))
                                         # 1295 170 44822 3375

#  重要提醒:
#  ---------
#  使用超出进制范围以外的符号会报错。

let "bad_oct = 081"

# (可能的) 报错信息:
#  bad_oct = 081: value too great for base (error token is "081")
#              Octal numbers use only digits in the range 0 - 7.

exit $?        # 退出码 = 1 (错误)

相关文章

  • Shell基础脚本-数字常量

    通常情况下: shell脚本会把数字以十进制整数看待(base 10),除非数字加了特殊的前缀或标记 带前缀0的...

  • 第二课 shell脚本

    shell脚本:是一个很多shell命令组成的一个文件一:�常量数字常量 字符常量 字符串常量二:shell的入...

  • shell脚本基础

    编写脚本 编程基础 shell脚本 创建shell脚本 变量 运算 测试 配置用户的环境

  • 定时清除系统日志

    基础命令 shell脚本

  • 第1次课-Shell脚本语言-第1讲

    进入Shell语言基础学习? 1、第一个Shell程序? 2、Shell脚本语法->注释? 3、Shell脚本语言...

  • 005.shell基础

    shell脚本基础 shell脚本可以输入多个命令并处理每个命令的结果。 创建shell脚本时,需要在文件的第一行...

  • “Linux命令行与shell脚本编程”-构建基本脚本

    shell脚本基础 在创建shell脚本文件时,必须在文件的第一行指定是使用的shell。#!/bin/bash。...

  • Fabric01-1

    一:shell脚本基础 1.shell命令 : 在linux终端能够被解析出来的命令2.shell脚本 : 多个s...

  • shell & bash基础命令及巧用

    shell与bash脚本的区别shell是Linux基础命令解释器bash(Bourne Again shell)...

  • Shell 传递参数

    Shell传递参数 我们可以在执行Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n代表一个数字...

网友评论

    本文标题:Shell基础脚本-数字常量

    本文链接:https://www.haomeiwen.com/subject/vqijtrtx.html