shell编程笔记

大一上学期的一些笔记:

1.linux系统地服务启动的借口在etc/init.d/目录下
2.启动加载程序的项目/etc/rc.d/rc.local里的数据
3.命令、参数间的多个空白都会被忽略掉
4.sh shell.sh
sh的参数:
-n
-x
5.开头必须:
#!/bin/bash
6.exit 0表示结束script并会传一个0给系统
7.交互式脚本常用命令:read
read -p “提示字符串” 变量名
8.date –date=string    列出相应日期。
date +%Y%m%d        按指定格式显示
如:
date –date=”2 days ago” +%Y%m%d
9.declare    定义变量类型
数值计算:$((计算式))
10.script的执行方式区别:
直接命令执行(绝对路径/相对路径/$PATH内),或是bash或sh来执行,script都会使用一个新的bash来执行(即子进程)。所以创建的变量在父进程内无效
而用.或source执行,则是在父进程内执行,创建的变量有效
11.test        测试
文件类型判断:
-e    是否存在
-f    是否存在且为文件
-d    是否存在且为目录
文件权限检测:
-r
-w
-x
-u
-g
-k    是否有Sticky bit属性
-s    是否存在且为“非空白文件”
两个文件比较:
test file1 -nt file2
-nt    (newer than)判断file1是否比file2新
-ot    (old than)判断file1是否比file2旧
-ef    判断file1和file2是否为同一文件,用于hard link的判断上。主要意义在于判定两个文件是否均指向同一个inode
两个整数之间的判定:
test n1 -eq n2
-eq    两值相等
-ne    两值不等
-gt    n1大于n2
-lt    n1小于n2
-ge    n1大于等于n2
-le    n1小于等于n2
判字符串;
test -z string    判字符串是否为0,若string为空字符串,则为true
test string    string是否非零,非空为true
test str1=str2    相等传true
test str1!=str2    不等传true
多重判定(重要):
-a    同时成立传true。如test -r file -a -x file,file同时具有r与x权限时回传true
-o    任何一个状态成立回传true
!    反向状态,

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>