1、引号使用
【`】,学名叫“倒引号”, 如果被“倒引号”括起来, 表示里面需要执行的是命令。
比如 `dirname $0`, 就表示需要执行 dirname $0 这个命令
【“”】 , 被双引号括起来的内容, 里面 出现 $ (美元号: 表示取变量名) `(倒引号: 表示执行命令) \(转义号: 表示转义), 其余的才表示字符串。
【’‘】, 被单引号括起来的内容, 里面所有的都表示串, 包括上面所说的 三个特殊字符。
在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的。因为他返回当前路径的"."。
这个命令写在脚本文件里才有作用,他返回这个脚本文件放置的目录,并可以根据这个目录来定位所要运行程序的相对位置(绝对位置除外)。
$0:当前Shell程序的文件名
dirname $0,获取当前Shell程序的路径
cd `dirname $0`,进入当前Shell程序的目录
在/home/admin/test/下新建test.sh内容如下:
- cd `dirname $0`
- echo `pwd`
然后返回到/home/admin/执行
- sh test/test.sh
运行结果:
- /home/admin/test
这样就可以知道一些和脚本一起部署的文件的位置了,只要知道相对位置就可以根据这个目录来定位,而可以不用关心绝对位置。这样脚本的可移植性就提高了,扔到任何一台服务器,(如果是部署脚本)都可以执行。
2、while循环
示例:while循环计算1到100的和:
jisuan.sh :
#!/bin/bash
i=1
sum=0
while [ $i -le 100 ]
do
let sum=sum+$i
let i++
done
echo $sum
-le 表示 小于等于
-eq //等于
-ne //不等于
-gt //大于 (greater )
-lt //小于 (less)
-ge //大于等于
-le //小于等于
let 命令是 BASH 中用于计算的工具
let no++
let no--
let a=5+4 let b=9-3 echo $a $b
3、read命令
读取输入的命令
# read value1 value2 value3
# a b c
# echo $value1
# a
# echo $value2
# b
# echo $value3
# c