目录
1 复习
#!bin/bash
read -r str < /home/1.txt
read -p "pls enter a word, it begins 'H' and ends 'O'" char
if [ $str == $char ]
then echo "bingo~"
else echo "No~"
fi
1.1 6种运算符
- 算数运算符,
- 关系运算符
- 布尔运算符
- 字符串运算符
- 文件测试运算符
原生bash不支持数学运算,必须要用$(赋值符号)来取值,也可用
awk 和 expr,
#!/bin/bash
val=`expr 1 + 2`
echo "sum is: $val"
1.2 引号,重定向符
反引号,放可执行的东西,` comd(命令) / 表达式/`
1.3 颜色
蓝色,目录(directory)
1.4 细节
标准化
- EOF,end of file (fi 没写会报错!)
- else 后要接语句(不接,报语法错)
2 文件测试符
-d directory [ -d /home/test ]
-f file [ -f /home/txt ]
-b block [ -b /home/jxnu ] 块设备文件
-c char [ -c /home/char ] 判断是否为字符设备文件
-l link [ -l /home/link ] 链接文件
-x executable [ -x /home/1.sh ] 可执行
-r readable [ -r /home/2.txt ] 可读
-w writeable [ -w /home/3.txt ] 可写
-s size [ -s /home/4.txt ] 判断是否为0
-e exist [ -e /home/5.txt ] 文件目录都可以!
-p pipe [ -p /home/1.pipe ] 管道符,
在判断文件的时候,先判断是否存在!(没有 -e 怎么去 -x! )
用户友好性,非常重要!(这是一个思维的问题)
文件需要归档!
细节需要注意!
2.1 软链接和硬链接
参考:https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html
硬链接就是同一个文件使用了多个别名,可通过 ll -il 查看到两个文件的 id 号是一样的。
link oldfile newfile
ln oldfile newfile
# 老文件不可缺省,因为是要被链接的文件