Shell变量 与 bash配置文件

习惯上我们以.sh作为脚本的文件后缀,

脚本的第一句格式#!/bin/bash

脚本的执行

bash 脚本路径 :执行该脚本

-n :检查语法错误

-x:显示执行的命令,相当于”echo on“

直接输入脚本的路径:该方式也可以直接执行脚本

变量的定义:

变量名=变量值

$变量:引用变量值,在变量的前面使用美元符号

双引号:双引号的内部可以进行变量的引用

单引号:单引号的内部的字符串仅仅代表字符串

单撇号:tab键上面的符号,其内部一般包括的是命令,主要是在有些情况使用引用命令的执行结果,于是使用单撇号将其与其他字符串分开,使其结果与之组合。

$(command):这种形式与单撇号的功能相同,在括号中写入命令语句,将命令与字符串分离,将 结果与字符串结合。

位置变量

比如在脚本中写入$1,在脚本的尾部加上参数,就可以在脚本的执行过程中使用这些参数,这就有点像批处理中的%1,其实都是差不多的。

预定义变量

变量?:如果上一条命令执行成功,则“?”这个变量的值就为0 ,否则为1--255之间的值。类似批处理中的errorlevel

变量#:传递的位置变量的个数,我们可以判断该脚本传递的参数是否是指定的个数,若不为指定参数就停止脚本。

变量0:该变量代表脚本的名称

read命令

read -p:该命令就有点像set /p="xxxxxx",该命令就是在屏幕上交互让用户去输入数值

变量的算术运算

默认情况下,linux所有的变量都视为字符串

let 变量名=变量1+变量2:let命令创建一个变量使其可以接收两个变量的计算和

$[$a+$b]:使用方括号将两个变量的运算包括,同样起到算术运算的效果

常见的环境变量

USER:当前工作的用户名

UID:当前工作的用户ID

SHELL:当前使用shell

HOME:当前用户的家目录

HISTSIZE:最大的历史记录数目

PWD:当前的工作路径

PATH:默认执行路径

LANG:默认语言

!!!注意用户定义的变量的作用范围有限,仅仅在当前用户使用的终端

export  变量名=“xxxx”:定义环境变量,其作用范围仅仅在当前shell及其子shell,其他用户依然不能使用该命令定义的环境变量

bash配置文件

bash配置文件分为两类:

第一类是profie文件

profile类文件:该类文件只有在用户登录时才会执行。

profile全局配置相关:/etc.profile文件 和/etc/profile.d目录。etc下的profile文件主要是一些登录时候的配置,每个用户在登录时都会执行该文件,profile.d目录主要是存放一些登录脚本,可以在该目录中存放用户的登录脚本,其作用范围依然是全部用户

profile局部配置相关:在每个用户的家目录中,有一个名为 .bash_profile的文件,每个用户登录的时候,都会去执行对应家目录中的.bash_profile文件

第二类是bashrc文件

bashrc类文件:该类在登录和打开新的shell的时候会开始执行。

bashrc全局配置相关:/etc/bashrc文件,该文件对所有用户有效

bashrc局部配置相关:用户家目录的.bashrc文件仅仅对当前用户有效

source 配置文件:当我们设置好了BASH文件的时候不会立即的生效,要么我们需要进行重启,要么我们就可以使用source命令,后面加上我们对应的BASH配置文件的路径,于是该文件就会重新的加载一遍,最后就可以执行了。

总结:

/etc/profile  每个用户登录时,都会执行的文件。(全部)

/etc/profile.d 每个用户登录时,都会执行该目录中的脚本文件 (全部)

家目录中的bash_profile:该文件是家目录的主人在登录的时候,就会执行的文件 (局部)

/etc/bashrc:每个用户登录或是开启新的shell的时候,就会执行(全部)

家目录中的.bashrc:是家目录的主人在登录或者开启新的shell的时候就会执行的文件(局部)

这两类文件总归到底可以将它们视为一种登录脚本设置的地方。我们如果想要配置影响全部用户的脚本,那么我们就可以将这个脚本设置在/etc/profie文件,/etc/profile.d目录以及/etc/bashrc文件上,如果仅仅只想影响某个用户,那么我们就仅需要将对应的脚本内容设置在用户家目录上的bash_profile文件或者.bashrc文件上。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mllllk

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值