Linux之shell

 

shell 是一个命令解释器

 

系统变量   $HOME $PWD  $USER   $SHELL  

 

 

自定义变量  

1.基本语法  

(1)定义变量: 变量=值

(2) 撤销变量: unset 变量

(3)声明静态变量: readonly 变量,注意:不能unset

2.变量定义规则

(1)变量名称可以由字母、数字和下划线组成,但不能以数字开头,环境变量名建议英文大写

(2)等号两侧不能有空格

(3)在bash中,变量默认类型都是字符串类型,无法直接进行数值运算

(4)变量的值如果有空格,需要使用双引号或单引号括起来

(5)export 变量名     可把变量提升为全局环境变量,可供其他shell程序使用

 

特殊变量   

$n   (功能描述: n为数字 ,$0代表脚本名称,$1-$9 代表第一到第九个参数,十以上的参数需要使用大括号包含,如${10}  ) 

$#  (功能描述: 获取所有输入参数的个数,常用于循环)

 

$*   (功能描述: 这个变量代表命令行中所有的参数,$* 把所有参数看成一个整体)

$@ (功能描述: 这个变量也代表命令行中所有的参数,不过$@ 把每个参数区别对待)

 

$? (功能描述: 最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;

如果这个变量的值为非0(具体是哪个数字,由命令自己来决定),则证明上一个命令执行不正确了。)

 

 

 

 

 

运算符

(1)  "$((运算式))"  或  "$[运算式]" 

(2) expr + , -, \* , /, %    加,减,乘,除,取余

注意:expr 运算符简要有空格

 

常用判断条件

 

 

 

 

 

if 判断

 

 

read

 

 

 

系统函数

 

 

 

 

自定义函数

 

 

 

 示例:

 

SHELL 工具

cut 

-f   列号,提取第几列

-d  分隔符,按照指定分隔符分割列

 

 sed

 

 

 

 

awk

 

 

 

 

 

 

sort

 

 

shell 子串的花式用法

 

特殊shell 扩展变量

 

 示例:

[root@centos068 ~]# echo $name

[root@centos068 ~]# echo $word

[root@centos068 ~]# word=222
[root@centos068 ~]# echo $word
222
[root@centos068 ~]# abc=${name:-word}
[root@centos068 ~]# echo $abc
word
[root@centos068 ~]# echo $name

[root@centos068 ~]# abd=${name:=word}
[root@centos068 ~]# echo $abd
word
[root@centos068 ~]# echo $name
word
[root@centos068 ~]# abf=${name:?word}
[root@centos068 ~]# echo $abf
word
[root@centos068 ~]# echo $name1

[root@centos068 ~]# abj=${name1:?word}
-bash: name1: word
[root@centos068 ~]# echo $name1

[root@centos068 ~]# echo $name
word
[root@centos068 ~]# echo $word
222
[root@centos068 ~]# abe=${name1:+word}
[root@centos068 ~]# echo $abe

[root@centos068 ~]# abh=${name:+word}
[root@centos068 ~]# echo $abh
word
[root@centos068 ~]#

  ·  

 

posted @ 2023-02-23 16:19  会bk的鱼  阅读(41)  评论(0编辑  收藏  举报