Shall高级编程

源代码在线查看: numerical-constants.html

软件大小: 1353 K
上传用户: stuoju
关键词: Shall 高级编程
下载地址: 免注册下载 普通下载 VIP

相关代码

												>				>				>Numerical Constants				>				NAME="GENERATOR"				CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+				">				REL="HOME"				TITLE="Advanced Bash-Scripting Guide"				HREF="index.html">				REL="UP"				TITLE="Operations and Related Topics"				HREF="operations.html">				REL="PREVIOUS"				TITLE="Operations and Related Topics"				HREF="operations.html">				REL="NEXT"				TITLE="Beyond the Basics"				HREF="part3.html">				HTTP-EQUIV="Content-Style-Type"				CONTENT="text/css">				REL="stylesheet"				HREF="common/kde-common.css"				TYPE="text/css">				HTTP-EQUIV="Content-Type"				CONTENT="text/html; charset=iso-8859-1">				HTTP-EQUIV="Content-Language"				CONTENT="en">				REL="stylesheet"				HREF="common/kde-localised.css"				TYPE="text/css"				TITLE="KDE-English">				REL="stylesheet"				HREF="common/kde-default.css"				TYPE="text/css"				TITLE="KDE-Default">				>				CLASS="SECT1"				BGCOLOR="#FFFFFF"				TEXT="#000000"				LINK="#AA0000"				VLINK="#AA0055"				ALINK="#AA0000"				STYLE="font-family: sans-serif;"				>				CLASS="NAVHEADER"				>				SUMMARY="Header navigation table"				WIDTH="100%"				BORDER="0"				CELLPADDING="0"				CELLSPACING="0"				>				>				COLSPAN="3"				ALIGN="center"				>Advanced Bash-Scripting Guide: An in-depth exploration of the art of shell scripting				>				>				>				WIDTH="10%"				ALIGN="left"				VALIGN="bottom"				>				HREF="operations.html"				ACCESSKEY="P"				>Prev				>				>				WIDTH="80%"				ALIGN="center"				VALIGN="bottom"				>Chapter 8. Operations and Related Topics				>				WIDTH="10%"				ALIGN="right"				VALIGN="bottom"				>				HREF="part3.html"				ACCESSKEY="N"				>Next				>				>				>				>				ALIGN="LEFT"				WIDTH="100%">				>				CLASS="SECT1"				>				CLASS="SECT1"				>				NAME="NUMERICAL-CONSTANTS"				>				>8.2. Numerical Constants				>				>				NAME="NUMCONSTANTS"				>				>A shell script interprets a number					as decimal (base 10), unless that number has a					special prefix or notation. A number preceded by a									CLASS="REPLACEABLE"				>				>0				>				> is 				CLASS="REPLACEABLE"				>				>octal				>				>					(base 8). A number preceded by 				CLASS="REPLACEABLE"				>				>0x				>				>					is 				CLASS="REPLACEABLE"				>				>hexadecimal				>				> (base 16). A number					with an embedded 				CLASS="REPLACEABLE"				>				>#				>				> evaluates as									CLASS="REPLACEABLE"				>				>BASE#NUMBER				>				> (with range and notational					restrictions).				>				CLASS="EXAMPLE"				>				NAME="NUMBERS"				>				>				>				>Example 8-4. Representation of numerical constants				>				>				BORDER="0"				BGCOLOR="#E0E0E0"				WIDTH="100%"				>				>				>				CLASS="PROGRAMLISTING"				>   1 #!/bin/bash				   2 # numbers.sh: Representation of numbers in different bases.				   3 				   4 # Decimal: the default				   5 let "dec = 32"				   6 echo "decimal number = $dec"             # 32				   7 # Nothing out of the ordinary here.				   8 				   9 				  10 # Octal: numbers preceded by '0' (zero)				  11 let "oct = 032"				  12 echo "octal number = $oct"               # 26				  13 # Expresses result in decimal.				  14 # --------- ------ -- -------				  15 				  16 				  17 # Hexadecimal: numbers preceded by '0x' or '0X'				  18 let "hex = 0x32"				  19 echo "hexadecimal number = $hex"         # 50				  20 				  21 echo $((0x9abc))                         # 39612				  22 #     ^^      ^^   double-parentheses arithmetic expansion/evaluation				  23 # Expresses result in decimal.				  24 				  25 				  26 				  27 # Other bases: BASE#NUMBER				  28 # BASE between 2 and 64.				  29 # NUMBER must use symbols within the BASE range, see below.				  30 				  31 				  32 let "bin = 2#111100111001101"				  33 echo "binary number = $bin"              # 31181				  34 				  35 let "b32 = 32#77"				  36 echo "base-32 number = $b32"             # 231				  37 				  38 let "b64 = 64#@_"				  39 echo "base-64 number = $b64"             # 4031				  40 # This notation only works for a limited range (2 - 64) of ASCII characters.				  41 # 10 digits + 26 lowercase characters + 26 uppercase characters + @ + _				  42 				  43 				  44 echo				  45 				  46 echo $((36#zz)) $((2#10101010)) $((16#AF16)) $((53#1aA))				  47                                          # 1295 170 44822 3375				  48 				  49 				  50 #  Important note:				  51 #  --------------				  52 #  Using a digit out of range of the specified base notation				  53 #+ gives an error message.				  54 				  55 let "bad_oct = 081"				  56 # (Partial) error message output:				  57 #  bad_oct = 081: value too great for base (error token is "081")				  58 #              Octal numbers use only digits in the range 0 - 7.				  59 				  60 exit 0       # Thanks, Rich Bartell and Stephane Chazelas, for clarification.				>				>				>				>				>				>				CLASS="NAVFOOTER"				>				ALIGN="LEFT"				WIDTH="100%">				SUMMARY="Footer navigation table"				WIDTH="100%"				BORDER="0"				CELLPADDING="0"				CELLSPACING="0"				>				>				WIDTH="33%"				ALIGN="left"				VALIGN="top"				>				HREF="operations.html"				ACCESSKEY="P"				>Prev				>				>				WIDTH="34%"				ALIGN="center"				VALIGN="top"				>				HREF="index.html"				ACCESSKEY="H"				>Home				>				>				WIDTH="33%"				ALIGN="right"				VALIGN="top"				>				HREF="part3.html"				ACCESSKEY="N"				>Next				>				>				>				>				WIDTH="33%"				ALIGN="left"				VALIGN="top"				>Operations and Related Topics				>				WIDTH="34%"				ALIGN="center"				VALIGN="top"				>				HREF="operations.html"				ACCESSKEY="U"				>Up				>				>				WIDTH="33%"				ALIGN="right"				VALIGN="top"				>Beyond the Basics				>				>				>				>				>				>			

相关资源