shell的基本

shell的基本_第1张图片
图片发自App


shell是一种脚本语言,可以说是一种Linux中应用比较频繁的语言或者说是工具(自我认为)了吧,以下是个人自己总结的一些shell的基础的一些。

一、系统变量(内置bash变量)

$?:上一条命令执行后返回状态

$$:当前所在进程的进程号

$!:后台运行的最后一个进程号

!$:调用最后一条命令历史的参数

$#:脚本后面接的所有的参数的个数

$*:脚本后面所有参数,参数当成一个整体输出,每个变量参数之间以空格隔开

$@:脚本后面所有参数,参数是独立也是全部输出

$0:当前执行的进程/程序名

$1-$9:位置的参数变量

二、条件判断test/[]/[[]]

1、文件存在与否

-e:是否存在

-f:是否为普通文件

-d:是否为目录 

-s:socket

-b:block块设备

-L:软连接

2、文件权限相关

-r:当前用户对其是否可读

-w:当前用户对其是否可写

-x:当前用户对其是否可执行

-u:是否有suid

-g:是否有sgid

-k:是否有黏滞位

3、两个文件比较判断

-nt:比较f1是否比f2新

-ot:比较f1是否比f2旧

-ef:比较是否为同一个文件,用于判断硬链接

4、整数之间的判断

-eq:相等

-ne:不等

-gt:大于

-lt:小于

-ge:大于等于

-le:小于等于

5、字符串之间的判断

-z:是否为空字符串

-n:是否为非空字符串

=:是否相等

!=:不等

6、多重条件判断

&&:逻辑与,两个条件同时满足,整个大条件为真

||:逻辑或,两个条件任意满足一个,整个大条件为真

三、流程控制语句

1、基本的流程控制语句

if [条件];then

          command

fi

2、有两个需求的时候

if [条件];then

        command1

else

        command2

fi

3、多个条件的时候

当条件以为满足,执行命令一后结束,如果条件一不满足,再看条件二,如果条件二满足执行命令二结束,如果条件一和条件二都不满足,执行命令三结束。

if [条件1];then

        command1

elif [条件2];then

        command2

else

        command3

fi

以上就是很基础的一些,后面将会有循环语句以及函数的一些。

你可能感兴趣的:(shell的基本)