linux的shell编程引入配置文件,linux shell编程之变量和bash配置文件(第一篇)

编程语言有两类

强类型:如C语言。数据具有其特定的类型,先声明定义后才能使用。数据运算时必须符合类型要求(如不能把字符串类型数据直接与整型数据做算数运算)

弱类型:如shell。数据默认为字符型,不用事先声明。数据运算时会自动转换数据类型。

1、变量

变量命名规则

变量类型

变量引用

1.1、变量命名规则:

变量由字母、数字、下划线组成。

不能由数字开头

1.2、变量类型:本地变量、环境变量、局部变量、特殊变量(内置)、参数变量、只读变量。

6238a29ff73568a0672fa5dd5f833702.png

注意如果变量没有定义在shell的配置文件,那么他的生命周期只是当前shell进程,一退出就失效。

作用域示例:

本地变量:可以看到再次打开一个bash时使用echo $test并不会输出s1。所以本地变量的作用域为当前shell。

7ecf434ef0a912493e02861e58c765c5.png

环境变量:子shell也起作用

ef34fd5c49be11e8b9972e5e7a5dc05d.png

变量定义示例:

bf18da3d8f4c12a978f7def308ce55f9.png

1.3、变量引用(对上表的补充):

“变量名”(双引号):弱引用,其中的变量引用会被替换为变量值

'变量名'(单引号) :强引用,其中的变量引用不会被替换为变量值,而保持原字符串

变量引用示例

284ada8f1d6d78531799eadeeac39d56.png

2、shell脚本编程:利用系统上的命令和编程组件的面向过程的编程。

2.1bash的配置文件:profile类和bashrc类

profile类:为交互式登录的shell提供配置

bashrc类:为非交互式登录的shell提供配置

5f3d054eea7c8873d325290e4d555ea8.png

交互式:通过终端输入用户名和密码登录后打来shell

通过su - USERNAME或su -l USERNAME登录后打开的shell

配置文件读取顺序:/etc/profile-->/etc/profile.d/*-->~/.bash_profile-->/etc/bashrc

非交互式:通过su USERNAME执行的登录

GUI图形界面下打开的终端

运行脚本文件中打开的shell

配置文件读取顺序:~/.bashec-->/etc/bashrc--->/etc/profile.d/*

总结:两者的区别可以简单的说成是——是否需要输入密码。

2.2配置文件修改后生效示例

注意,修改配置文件不会立即生效可以使用.(英文点号)或者source来强制重读配置文件,使得修改立刻生效

首先修改.bashrc文件添加alias ech='echo $PATH'

f467ec79eb952598b3ff64fe32582922.png

使用alias并没有打印出我们刚添加的命令别名,使用ech直接报错

d06b11852019bcc1015549533dbe96f7.png

使用source FILE_NAME重读配置文件后使用alias命令,可以看到我们新添加的ech。

e0c68bd5987a5757fec055d5d17d2100.png

shell编程其他文章请点击下边链接

来源:https://www.cnblogs.com/wxxjianchi/p/9160293.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值