Linux Bash环境变量

环境是shell运行会话和会话相关信息。环境是Linux bash的重要组成部分。我们可以在当前环境中设置变量并使用它们。Bash还提供了一些默认的环境变量。

null

登录时创建变量

您可能需要在用户登录时创建变量。例如,在shell脚本中使用登录日期非常方便,或者从其他来源查看数据,而会话设置是在登录时创建变量的另一个原因。

  • /etc/简介 是创建shell的起点。这个文件里有很多脚本。您可以在文件末尾添加simple。此文件需要用户登录才能执行。
  • /etc/剖面图d/ 与概要文件类似,但用于更自治的地方进行更改。profile.d是包含在运行时执行的脚本文件的目录。如果你需要复杂的多行脚本,你可以在这里创建一个脚本文件。此文件需要用户登录才能执行
  • ~/.bashrc 与其他脚本不同,因为执行的代码没有登录名,这意味着如果没有登录名的用户,我们应该使用此文件

环境变量

bash的变量可以在不同的地方设置。有4种类型的变量

  • 字符串
  • 整数
  • 常量
  • 数组

导出

与普通变量一样,环境变量也区分大小写。导出变量是用export关键字声明的。Export关键字提供该变量也将存在于其他shell中。

$ export test="This is test" $ env | grep testtest=This is test

如果您打开新终端,您可以看到定义的变量,但是如果您关闭现有终端并在其他终端中查看测试变量,您将找不到它,因为环境变量仅由子终端使用。子端子是由现有端子创建的端子。

相关文章: 如何在Linux上启动、停止和重新启动网络?

取消设置环境变量使用 -不 像这样导出参数。这将使环境变量成为正态变量。

env |grep test test=5 export -n test env |grep test

创建Shell变量

默认的bash变量有助于了解当前环境。例如查找当前bash二进制路径 猛击 使用变量。

$ echo $BASH/bin/bash

查找当前执行的bash命令

$ echo $BASH_COMMAND echo $BASH_COMMAND

获取Bash版本

有时您会从web上获取脚本,或者新主机中的现有脚本有问题。可能存在一些兼容性问题。要获得有关兼容性的详细信息,bash版本非常重要。下面是如何得到它。

$ echo $BASH_VERSINFO 4

查找bash开始执行时设置的环境变量。

$ envXDG_VTNR=1KDE_MULTIHEAD=falseSSH_AGENT_PID=1399PAM_KWALLET5_LOGIN=/tmp/kwallet5_ismail.socketXDG_SESSION_ID=2HOSTNAME=lenovo.baydanGUESTFISH_INIT=e[1;34mSHELL=/bin/bash...

获取用户运行脚本

当以交互方式或非交互方式运行bash时,获取当前用户名是通过 $用户 特殊变量。如果脚本需要root权限并检查当前用户,这将非常有用。

$ echo $USER ismail

获取主机名

主机名是当前使用的计算机的名称。在企业环境中有大量的服务器和主机。可以说,区分主机名对编剧来说很重要。获取运行脚本的主机名

$ echo $HOSTNAME lab_voip

获取Shell启动后的秒数

要获取从现在到shell开始时间之间的时间,请使用此特殊变量。如果你所使用的外壳都准备好打开很长一段时间,你当然会得到一个很大的数字。

$ echo $SECONDS 2770

生成随机数

要生成随机数,请使用以下命令。请注意,此随机数生成方法可能在摄影上不安全。要生成最安全的随机数,请使用带有额外硬件的Openssl库。但是Openssl随机数生成对于很多情况来说已经足够了。

$ echo $RANDOM 8500

获取Bash脚本的当前行号

行号可以用在bash脚本或交互式shell中,对于这两种脚本,行号都是从头开始的。

$ echo $LINENO67

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享