命令替换
- variable=
commands
- variable=$(commands)
$() 仅在 Bash Shell 中有效,而反引号可在多种 Shell 中使用
variable 是变量名,commands 是要执行的命令。commands 可以只有一个命令,也可以有多个命令,多个命令之间以分号;分隔。
注意,如果被替换的命令的输出内容包括多行(也即有换行符),或者含有多个连续的空白符,那么在输出变量时应该将变量用双引号包围,否则系统会使用默认的空白符来填充,这会导致换行无效,以及连续的空白符被压缩成一个
a=$(date +%s)
sleep 5
b=$(date +%s)
echo $((b-a))
echo $(ls -n)
echo "$((ls -n))"
整数运算
((表达式))
就是将数学运算表达式放在((和))之间。
a=$((2-1))
b=$((4-1))
echo $((b-a))