一. 终端打印
在终端中打印的方式有两种,一种是echo,一直是printf,printf是来自于C语言,输出方式与C语言及其相似。
1.1 echo
输出变量
首先,回忆一下定义一个变量我们使用的方式是 field=100; 难么我们如何输出这个field呢?我们就需要借助echo命令了
echo $field; 这样就输出field的值。当然shell给我们提供不同的输出方式就像 echo "$field" 和 echo '$field'
这三种输出的方式不同的是前两个expend,输出field的值。而最后一种输出的是 $field。
输出需要转译的字符串
当需要输出一个制表符时单纯的使用echo "\t welcome to shell" 是不会成功的(《Linux脚本攻略》一书中可以输出,但是实验并不成功)。
这是我们需要使用的命令是 echo -e "\t welcome to shell" 。当然输出时不带双引号,或者不带单引号一样是不会成功的。
1.2 printf
这个命令是跟C语言的printf非常相似的。不解释直接上代码
1 #!/bin/bash
2 printf "%-5s %-10s %-4s\n" NO Name Mark
3 printf "%-5s %-10s %-4.2f\n" 1 James 93.245
输出结果:
PS: echo是自带换行的,而printf是需要你自己写。
案例来自《Linux脚本攻略》
二. 基本运算
1.1 加减(+-)自增自减(--,++)
1.1.1 整型计算方法
整型的计算方式有三种:
1.let result=a+b;
2.result=$(( a+b )); result=$(expr $a+5); <-- 这个方法好像没有什么用只能得到一个式子输出result是3+5。
3.result=$[ a+b ]; result=$[ $a+3 ];
1.1.2 浮点型计算方式
主要的bc, 是一个用于数学运算的高级工具。
echo "4 * 0.56" | bc;
设定小数精度
echo "scale=2;3/8" | bc;
设定禁止转换
echo "obase=10;ibase=2;$no" | bc; 输入是十进制的数,输出二进制的数。
设定平方以及平方根
echo "sqrt(100)" | bc;
echo "10^10" | bc;
三. 读取值
读(read)取值比较简单直接上一个脚本;
read -p "Please enter a number:" number;
运行脚本时,输出提示语: Please enter a nmber:;
相应的参数有: