操作符 | 操作 | 作用 | 示例 |
---|
$(())
| $((VALUE))
| 进制转换 | y=$((0b1010))
y=$((0x1F))
|
$((BASE#VALUE))
| 进制转换 | y=$((2#1010))
y=$((16#1F))
|
$((a + b))
| 加法运算 | echo $((2 + 3))
x=2
y=$(($x + 3))
|
$((a - b))
| 减法运算 | echo $((2 - 3))
x=2
y=$(($x - 3))
|
$((a * b))
| 乘法运算 | echo $((2 * 3))
x=2
y=$(($x * 3))
|
$((a / b))
| 除法运算 | echo $((2 / 3))
x=2
y=$(($x / 3))
|
$((a ** b))
| 密方运算 | echo $((2 ** 3))
x=2
y=$(($x ** 3))
|
$((a & b))
| 按位与 | echo $((2 & 3))
x=2
y=$(($x & 3))
|
$((a | b))
| 按位或 | echo $((2 | 3))
x=2
y=$(($x | 3))
|
$((a ^ b))
| 按位异或 | echo $((2 ^ 3))
x=2
y=$(($x ^ 3))
|
$((a ^ b))
| 按位异或 | echo $((2 ^ 3))
x=2
y=$(($x ^ 3))
|
$((~ a))
| 按位取反 | echo $((~ 2))
x=2
y=$((~ $x))
|
$((a << b))
| 左移b 位 | echo $((2 << 3))
x=2
y=$(($x << 3))
|
$((a >> b))
| 右移b 位 | echo $((2 >> 3))
x=2
y=$(($x >> 3))
|
$()
| y=$(COMMANDS)
| 将COMMANDS 命令的输出重定向到变量y | currentDir="$(cd $(dirname "$0");pwd)"
|
``
| y=`COMMANDS`
| 将COMMANDS 命令的输出重定向到变量y | currentDir=`pwd`
|
()
| (COMMANDS)
| 在subShell中运行 | pwd; (cd ~; pwd); pwd
|
<
| COMMAND < FILE
| 从文件输入 | mysql -uroot -p < xx.sql
|
<<
| COMMAND <<EOF
content
EOF
| 从标准输入设备中输入 | bc -l <<EOF
1 + 2
EOF
|
<<<
| COMMAND <<< STRING
| 从字符串输入 | bc -l <<< "1 + 2"
|
>
| COMMAND 1> FILE
COMMAND 2> FILE
| 输出到文件,覆盖原文件 | ls > ls.txt
|
>>
| COMMAND 1>> FILE
COMMAND 2>> FILE
| 输出到文件,追加到原文件 | ls >> ls.txt
|
|
| COMMAND1 | COMMAND2
| 将COMMAND1 的标准正确输出 作为COMMAND2 的标准输入 | ls | more
|
|&
| COMMAND1 |& COMMAND2
| 将COMMAND1 的任何输出 作为COMMAND2 的标准输入 | ls |& more
|
注意:
Bash不支持多精度浮点数,而zsh支持。
Bash不支持0bNNN
表示二进制数,而zsh支持。
Bash支持0NNN
表示八进制数,而zsh认为它是十进制数。