Warriorhuahua的个人博客分享 http://blog.sciencenet.cn/u/Warriorhuahua

博文

shell入门

已有 1288 次阅读 2019-7-12 14:07 |个人分类:Linux学习|系统分类:科研笔记

代码规范:

#!bin/bash

文件命名规范:

文件名.sh

输出命令:

echo ****  输出的内容如果包含字母和符号(不包含变量),则需要用引号包括起来。如果是纯数字可以包也可以不包。

 

变量的定义:

    ****=“***” 等号左右不能有空格

变量的使用:

形如echo $****

关于单双引号的问题:

双引号能够识别变量,双引号能够实现转义(类似于\*”)

单引号是不能识别变量,只会原样输出,单引号是不能转义的

关于反引号的问题:

当在脚本中需要执行一些指令并且将执行的结果赋给变量的时候需要使用“反引号”。

只读变量:

    readonly 变量名

删除变量:

    unset 变量名

   

条件判断语句

语法1(一个条件):

单行写法(一般在命令行中执行的时候):if [ condition ]; then command; fi

if condition

then

    command1 

    command2

    ...

fi

 

语法2(两个条件):

if condition

then

    command1 

    command2

    ...

else

    command

fi

 

 

语法3(多个条件):

if condition1

then

    command1

elif condition2 

then 

    command2

else

    commandN

fi

 

运算符

算数运算符:

:+  :-  :*  :/  :%  赋值:=  等于:==  不等于:!=

 

关系运算符:

-eq:检测两个数是否相等,相等返回 true

-ne:检测两个数是否相等,不相等返回 true

-gt:检测左边的数是否大于右边的,如果是,则返回 true

-lt:检测左边的数是否小于右边的,如果是,则返回 true

-ge:检测左边的数是否大于等于右边的,如果是,则返回 true

-le:检测左边的数是否小于等于右边的,如果是,则返回 true

 

逻辑运算符:

!:非运算,表达式为 true 则返回 false,否则返回 true[ ! false ] 返回 true

-o:或(或者)运算,有一个表达式为 true 则返回 true[ $a -lt 20 -o $b -gt 100 ] 返回 true

-a:与(并且)运算,两个表达式都为 true 才返回 true[ $a -lt 20 -a $b -gt 100 ] 返回 false

 

字符串运算符:

=:检测两个字符串是否相等,相等返回 true。   [ $a = $b ] 返回 false

!=:检测两个字符串是否相等,不相等返回 true[ $a != $b ] 返回 true

-z:检测字符串长度是否为0,为0返回 true。 [ -z $a ] 返回 false

-n:检测字符串长度是否为0,不为0返回 true[ -n $a ] 返回 true

str:检测字符串是否为空,不为空返回 true。  [ $a ] 返回 true

 

文件测试运算符:

-b file:检测文件是否是块设备文件,如果是,则返回 true[ -b $file ] 返回 false

-c file:检测文件是否是字符设备文件,如果是,则返回 true[ -c $file ] 返回 false

-d file:检测文件是否是目录,如果是,则返回 true[ -d $file ] 返回 false

-f file:检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回 true[ -f $file ] 返回 true

-g file:检测文件是否设置了 SGID 位,如果是,则返回 true[ -g $file ] 返回 false

-k file:检测文件是否设置了粘着位(Sticky Bit),如果是,则返回 true[ -k $file ] 返回 false

-p file:检测文件是否是有名管道,如果是,则返回 true[ -p $file ] 返回 false

-u file:检测文件是否设置了 SUID 位,如果是,则返回 true[ -u $file ] 返回 false

-r file:检测文件是否可读,如果是,则返回 true[ -r $file ] 返回 true

-w file:检测文件是否可写,如果是,则返回 true[ -w $file ] 返回 true

-x file:检测文件是否可执行,如果是,则返回 true

[ -x $file ] 返回 true

-s file:检测文件是否为空(文件大小是否大于0),不为空返回 true[ -s $file ] 返回 true

-e file:检测文件(包括目录)是否存在,如果是,则返回 true[ -e $file ] 返回 true




https://blog.sciencenet.cn/blog-3415145-1189212.html

上一篇:VIM编辑器
下一篇:GAMIT分布处理流程(示例)
收藏 IP: 124.202.171.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-20 11:08

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部