Linux之shell


undefinedundefined

 

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 扩展变量

 

 示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
[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 @   会bk的鱼  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示