操作符与相关主题

操作符

赋值
变量赋值

初始化或者修改变量的值

=

通用赋值操作符, 可用于算术和字符串赋值.

var=12
catagory=minerals		# 在“=”之后是不允许出现空白字符的.

算术操作符

+, -, *, /

加减乘除计算.

**

幂运算.

+=, -=, *=, /=, %=

"加-等于", "减-等于", "乘-等于", "除-等于", "取模-等于".

位操作符

<<, >>

"左移一位"(每次左移都相当于乘以2),  "右移一位"(每次右移都相当于除以2).

<<=, >>=

"左移-赋值", "右移-赋值".

let "var <<= 2"			# 变量var左移2位(就是乘以4)

&

按位与

&=

"按位与-赋值"

|

按位或

|=

"按位或-赋值"

~

按位反

!

按位非

^

按位异或XOR

^=

"按位异或-赋值"

逻辑操作符

&&

与(逻辑)

if [ $condition1 ] && [ $condition2 ]				#与if [ $condition1 -a $condition2 ]相同
if [[ $condition1 && $condition2 ]]				#也可以

||

或(逻辑)

,

逗号操作符

逗号操作符可以连接两个或多个算术运算. 所有的操作都会被运行(可能会有负作用), 但是只会返回最后操作的结果.

let "t1 = ((5+3, 7-1, 15-4))"
echo "t1 = $t1"					# t1 = 11

let "t2 = ((a = 9, 15/3))"
echo "t2 = $t2 a=$a"				# t2 = 5   a = 9

数字常量

shell脚本在默认情况下都是把数字作为10进制数来处理, 除非这个数字采用了特殊的标记或者前缀.如果数字以 0 开头的话那么就是 8进制 数. 如果数字以 0x 开头的话那么就是 16进制数. 如果数字中间嵌入了 # 的话, 那么就被认为是 BASE#NUMBER 形式的标记法(有范围和符号限制).
#!/bin/bash
# number.sh: 几种不同进制的数字表示法

# 10进制:默认情况
let "dec = 32"
echo "decimal number = $dec"			# 32

# 8进制:以'0'开头
let "oct = 032"
echo "octal number = $oct"			#26
#表达式结果是用10进制表示的

# 16进制:以‘0x'或者'0X'开头的数字
let "hex = 0x32"
echo "hexadecimal number = $hex"		#50
#结果是用10进制表示的

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

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

echo $((36#zz)) $((2#10101010)) $((16#AF16)) $((53#1aA))
#	1295 		170	   44822 	3375
#使用一个超出给定进制的数字的话,将会引起一个错误

exit 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值