练习1-计算器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| [root@vm-101 ~] #!/bin/bash
num1=4 num2=2
echo $[ $num1 + $num2 ] echo $[ $num1 - $num2 ] echo $[ $num1 * $num2 ] echo $[ $num1 / $num2 ] exit 0
[root@vm-101 ~] 6 2 8 2
|
这里是在脚本里面写死了两个数值。太不灵活了。我们稍微修改下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| [root@vm-101 ~] #!/bin/bash
num1=$1 num2=$2
echo $[ $num1 + $num2 ] echo $[ $num1 - $num2 ] echo $[ $num1 * $num2 ] echo $[ $num1 / $num2 ] exit 0
[root@vm-101 ~] 6 2 8 2
|
位置参数:
就是给脚本传的一些列参数。$1 $2 $3 $4 ...
$@ $*
是所有位置参数的数组,但是有点点细微的区别。我习惯用$@
。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| [root@vm-101 ~] #!/bin/bash
echo “$@” echo ”$*“
for i in "$@" do echo $i done
for i in "$*" do echo $i done exit 0
[root@vm-101 ~] “11 22 33 44” ”11 22 33 44“ 11 22 33 44 11 22 33 44
|
做一个交互式的计算器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| [root@vm-101 ~] #!/bin/bash
read -p "输入第一个数字:" num1 read -p "输入一个操作符:" op read -p "输入第二个数字:" num2
echo $[ $num1 $op $num2 ] exit 0
[root@vm-101 ~] 输入第一个数字:3 输入一个操作符:* 输入第二个数字:2 6 [root@vm-101 ~] 输入第一个数字:4 输入一个操作符:/ 输入第二个数字:2 2
|
但是这样还是有点麻烦,不够灵活
更牛逼的计算器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| [root@vm-101 ~] #!/bin/bash
read -p "输入你的计算内容:" jisuan
echo $[ $jisuan ]
exit 0
[root@vm-101 ~] 输入你的计算内容:1 + 2 + 3 6 [root@vm-101 ~] 输入你的计算内容:1 * 3 * 5 15 [root@vm-101 ~] 输入你的计算内容:100 % 3 * 5 5
|