linux bash 逻辑,shell脚本基础-bash变量和逻辑运行

终端,附着在终端的接口程序:

GUI:KDE,GNome,Xfce

CLI:/etc/shells

bash的特性:

命令行展开:~,{ }

命令别名:alisa,unalisa

命令历史:history

文件名通配:glob

快捷键:Ctrl+a,e,u,k,l

命令补全:$PATH

路径补全:

bash特性之命令hash

缓存此前的查找结果:key-value key:搜索键 value:值

hash命令

hash:列出

hash -d command:删除缓存中的命令

hash -r:清空

bash的特性之:变量

程序:指令+数据

指令:有程序文件提供

数据:IO设备、文件、管道、变量

程序:算法+数据结构

变量名+指向的内存空间

变量赋值:name=value

变量类型:存储格式、表示数据范围、参与的运算

编程语言:

强类型变量

弱类型变量:

bash把所有变量统统视作字符型

bash中的变量无需事先声明

变量替换:把变量名出现的位置替换为其所指向的内存空间中数据

变量引用:$(var_name),$var_name 一般括号可以省略

变量名:变量名只能包含数字、字母和下划线,而且不能以数字开头,不能使用程序的保留字符,例如:if ,else,then,while

ef1a82ab8a2c3d5d39c76e8b8f0bf3b6.png

bash变量类型:

本地变量: 作用域仅为当前shell进程

变量赋值:name=value

变量引用:${name},$name大多数情况可以省略大括号

查看变量set

撤销变量:unset name此处非变量引用,所以不用$符合

环境变量:

变量赋值:

export name=value

name=value

export name

declare -x name= value

name=value

declare -x name

03116d32c9671ca065b37640a5b740ea.png

d31168d9b8ac36ace6cbcb25f813a794.png

变量赋值:

局部变量:作用域仅为某种代码片段(函数上下文)

位置参数变量:当执行脚本的shell进程传递的参数

特殊变量: shell内置的有特殊功能的变量

$?

1 0:成功

2 1-255:失败

注意:bash内嵌了许多环境变量(通常全为大写)用于定义bash的工作环境

PATH,HISTFILE,HISTSIZE, HISTFILESIZE , HISTCONTROL, SHELL, HOME, UID, PWD, OLDPWD

查看环境变量:export,declare -x,printenv,env

撤销环境变量:unset name

只读变量:

declare -r name

readonly name

只读变量无法重新赋值,并且不支持撤销:存储时间为当前shell进程的生命周期,随shell进程终止而终止

fdedc8ef58c59ce20f8c99de086ace1b.png

bash特性之多命令执行:

~]# COMMAND1;COMMAND2;COMMAND3;.......

逻辑运算:

运算数:真(true,yes,on,1) 假(false,no,off,0)

与:

1&&1=1

1&&0=0

0&&1=0

0&&0=0

或:

1 || 1=1

1 || 0=1

0 || 1=1

0 || 0=0

非:

!1=0

!0=1

短路法则:

~]# COMMAND1&& COMMAND2

COMMAND1为“假”,那么COMMAND2将不会运行

如果COMMAND1为“真”,那么COMMAND2必须运行

15df481a956465a102b306909e86747c.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值