linux shell基本知识

shell script的一些注意事项:
1、#这个符号是注释本行,通常用来做批注用,#!除外,是用来标注用哪种shell执行本脚本,
2、执行顺序为从上到下,从做到右
3、忽略空行,tab空格
4、脚本换行用 \ 然后接着在下一行继续写代码

shell script执行所需权限

chmod 755 或者 chomod r+x 都可以。

shell script 执行三方法

1、sh script_path  这种方法执行后,脚本里面的变量外部不可饮用
2、本目录下使用  ./script_name  【推荐使用】
3、source script_path 


shell批注的良好习惯

1、需要批注该shell的功能
2、批注版本信息
3、批注作者及联络方式
4、版权宣告
5、简单的历史更改记录
6、运行环境变量宣告告知


除此之外,重要代码段也要使用批注,增加可读性和可维护性


交互式脚本(对谈式)

read指令,可以很好地获得用户输入并赋值给指定变量
例子:

read -p “请输入你的名字” firstname

这样窗口就会提示你输入,病把你的内容赋值给first变量
继续运行。下面的脚本就可以使用该变量了


srcipt中文件名按照日期处理,动态获取日志拼接指定字符串即可形成
自己想要的规范标准文档名,通常用在备份文件等功能。

date指令
常用 date +%Y%m%d
赋值给变量 例:date1=$(date +%Y%m%d)  #今天日期
               date2=$(date --date='2 days ago' ++%Y%m%d) #2天前日期


shell scipt内基本的运算方法

先定义a变量和b变量

指令 $((${a}*${b}))


善用判断式,巧妙利用shell自带的一些变量发现问题

如$? 代表上一条指令执行的记过,成功为0
echo  $? 即可查看


test指令,直接的判断方法,很好用
判断目录 -d 判断文件-e 或者 -f

例子:test -f index.html && echo "exist" ||echo "not exist"
说明 判断当前目录index.html文件是否存在,存在则输出exit,否则输出not exist
&&的意思是成功的话执行后面的指令,否则跳过。

文件或目录常用测试的一些常用标志

-e 判断文件或目录
-f 判断普通文件
-d 判断目录

文件权限常用判断方法

-r 判断可读
-w 判断可写
-x 判断可执行
-s 判断是否为非空白文档

文件比较常用

-nt 判断文件新 1比2 新
-ot 判断文件旧 1比2 旧
-ef 是否为同一个文件


整数数值判断

-eq 是否等于
-ne 不等于
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于

字符串数据判断

test -z string 判断是否为空
test -n string 判断是否为不为0
test str1 == str2 字符串是否相等
test str1 != str2 字符串是否不相等

或and与
-a  与判断
-o  或判断
! 反向判断


exit可以自动换返回结果


如何判断?
1、test指令 加 选项 加参数
2、[选项 + 参数]; 例如[ -f file1.txt ];echo "xxx",注意这里面的每一个组件都要用空格隔开


$# $0 $1 $2 $3 $4 $@ 分别代表 参数数量,脚本名称,参数1,参数2,参数3,参数4 ,所有参数



if常用判断式
if ;then  
    指令
if

 

posted @ 2017-06-21 11:10  忙碌在路上  阅读(199)  评论(0编辑  收藏  举报