构建基础脚本

2023-01-31  本文已影响0人  butters001

1. 用户自定义变量

var1=10 ✅
var2=-50 ✅
var3=word ✅
var4="more word" ✅

⚠️:在变量、等号和值之间不能出现空格

var5 = "failed" ❌

2. 命令替换

有两种方法可以将命令输出赋值给变量

var1=`date`
var2=$(date)

3. 重定向输入和输出

3.1 输出重定向
ls > test1.log
ls >> test2.log
3.2 输入重定向
wc < test.log
wc << EOF
>test 1
>test 2
>EOF

4. 管道

前一个命令的输出结果传递给下一个命令

5. 执行数学运算

expr 1 + 2
var1 = $(expr 1 + 2)
var2 = $(expr 1 \* 2)  ⚠️:使用expr时特殊符号需要转译,如 *

⚠️:expr 1 + 2 和 expo 1+2结果不同

expr 1 + 2
结果是3,数学运算

expr 1+2
结果是 1+2

expr 1+ 2
语法错误❌
echo $[1+2]
echo $[1 +2]
echo $[1 + 2]
以上三个命令结果都是:3

🌈:expr和$[]都只支持整数运算,不支持浮点数运算。

6. 浮点数运算命令:bc

在脚本中使用bc

variable=$(echo "options; expression" | bc)
var1=$(echo "scale=4; 1/2"|bc)

多个变量时可以使用内联输入重定向

#!/bin/bash

var1=10.46
var2=43.67
var3=33.2
var4=71

var5=$(bc << EOF
scale=4
a1=($var1 + $var2)
b1=($var3 + $var4)
a1 + b1
EOF
)

echo "var5 is $var5"
echo $a1  ⚠️:这里在外面获取不到计算器里定义的变量
上一篇下一篇

猜你喜欢

热点阅读