首页 > 系统相关 >无涯教程-Linux - 环境变量

无涯教程-Linux - 环境变量

时间:2023-11-26 10:02:05浏览次数:34  
标签:profile bin Shell 变量 无涯 echo 命令 Linux 环境变量

在本章中,我们将详细讨论Unix环境。 Unix的一个重要概念是 environment ,它是由环境变量定义的。

变量是我们为其分配值的字符串。分配的值可以是数字,文本,文件名,设备或任何其他类型的数据。

如,首先我们设置一个变量TEST,然后使用 echo 命令访问它的值-

$TEST="Unix Programming"
$echo $TEST

它产生以下输出。

Unix Programming

请注意,设置环境变量时不使用 $符号,但是在访问它们时,我们使用$符号作为前缀。

当您登录系统时,Shell程序会经历一个称为初始化的阶段来设置环境。这通常是一个两步过程,涉及Shell读取以下文件-

  • /etc/profile
  • .profile

流程如下-

  • Shell检查文件/etc/profile 是否存在。

  • 如果存在,Shell程序将读取它,否则,将跳过此文件。

  • shell检查您的主目录中是否存在文件 .profile 。

  • 如果存在,Shell会读取它;否则,Shell将跳过它。

读完这两个文件后,Shell程序将显示提示-

$

这是提示,您可以在其中输入命令以执行命令。

.profile文件

文件/etc/profile 由Unix计算机的系统管理员维护,并且包含系统上所有用户所需的Shell初始化信息。

您可以检查主目录中的 .profile 。使用vi编辑器将其打开,并检查为您的环境设置的所有变量。

设置路径

在命令提示符下键入任何命令时,Shell程序必须先找到该命令,然后才能执行该命令。

PATH变量指定Shell程序应在其中查找命令的位置。通常,Path变量设置如下-

$PATH=/bin:/usr/bin
$

在这里,用冒号(:)分隔的每个单独条目都是目录,如果您请求Shell程序执行命令,但在PATH变量给定的任何目录中都找不到它,则会显示类似以下内容的消息-

$hello
hello: not found
$

PS1和PS2变量

Shell作为命令提示符显示的字符存储在变量PS1中,您可以将此变量更改为所需的任何值,更改后,Shell将立即使用它。

如,如果您发出命令-

$PS1='=>'
=>
=>
=>

您的提示将变为=>。 要设置PS1的值以使其显示工作目录,请发出命令-

=>PS1="[\u@\h\w]\$"
[root@ip-72-167-112-17 /var/www/learnfk/unix]$
[root@ip-72-167-112-17 /var/www/learnfk/unix]$

该命令的输出是提示显示用户的用户名,计算机的名称(主机名)和工作目录。

有很多转义序列可用作PS1的值参数。

Sr.No. Escape Sequence & 描述
1

\t

当前时间,表示为HH:MM:SS

2

\d

当前日期,表示为工作日月份日期

3

\n

换行

4

\s

当前的Shell环境

5

\W

工作目录

6

\w

工作目录的完整路径

7

\u

当前用户的用户名

8

\h

当前机器的主机名

9

\#

当前命令的命令号。输入新命令时增加

10

\$

如果有效UID为0(也就是说,如果您以root用户身份登录),则以#字符结束提示;否则,以0结尾。否则,请使用$符号

您可以在每次登录时自行进行更改,也可以通过将更改添加到您的 .profile 文件中来自动进行更改。

默认的辅助提示是>(大于符号),但是可以通过重新定义PS2 shell变量来更改-

以下是使用默认辅助提示的示例-

$echo "this is a
> test"
this is a
test
$

下面给出的示例使用自定义提示重新定义PS2-

$PS2="secondary prompt->"
$echo "this is a
secondary prompt->test"
this is a
test
$

环境变量

以下是重要环境变量的部分列表。如下所述设置和访问这些变量-

Sr.No. Variable & 描述
1

DISPLAY

包含默认情况下 X11 程序应使用的显示的标识符。

2

HOME

指示当前用户的主目录:cd 内置命令的默认参数。

3

IFS

表示解析器使用内部字段分隔符进行扩展后的单词拆分。

4

LANG

LANG扩展到默认系统区域设置; LC_ALL可用于替代此设置。如,如果其值为 pt_BR ,则将语言设置为(巴西)葡萄牙语,将语言环境设置为巴西。

5

LD_LIBRARY_PATH

带有动态链接器的Unix系统包含用冒号分隔的目录列表,在exec之后构建过程镜像之前,动态链接器应在搜索任何其他目录之前搜索共享对象。

6

PATH

指示命令的搜索路径。它是一个用冒号分隔的目录列表,shell在其中搜索命令。

7

PWD

指示由cd命令设置的当前工作目录。

8

RANDOM

每次引用都会生成一个介于0到32,767之间的随机整数。

9

SHLVL

每次启动bash时增加一。此变量对于确定内置的exit命令是否结束当前会话很有用。

10

TERM

指显示类型。

11

TZ

指时区。它可以采用GMT,AST等值。

12

UID

扩展为当前用户的数字用户ID,在shell启动时初始化。

以下是显示环境变量的示例-

$echo $HOME
/root
]$echo $DISPLAY

$echo $TERM
xterm
$echo $PATH
/usr/local/bin:/bin:/usr/bin:/home/learnfk/bin:/usr/local/bin
$

参考链接

https://www.learnfk.com/linux/linux-environment.html

标签:profile,bin,Shell,变量,无涯,echo,命令,Linux,环境变量
From: https://blog.51cto.com/u_14033984/8566176

相关文章

  • 学习Linux用户管理与文件权限
    在Linux操作系统中,用户管理和文件权限是系统安全和管理的核心。本文将深入探讨Linux用户管理和文件权限的方方面面,帮助读者更好地理解和有效地运用这些关键概念。用户管理Linux用户管理是系统管理员不可或缺的一部分,它涉及到用户的创建、权限分配、密码管理以及安全性方面的考虑......
  • Linux-No.4
    一、进程管理了解进程的基本概念掌握查看进程的基本方法熟悉信号控制进程了解进程优先级原理 1.每个进程都有唯一的进程标识PID,一个PID只能标识一个进程2.进程状态是指程序执行过程中的变化。进程状态随着程序的执行和外界条件的变化而转换,一般分为三类:就绪态、运行态、阻......
  • linux文件管理
         ......
  • linux shell实现计算SNP在指定群体的ROH片段中出现的频率
     001、ROH检测[s20213040583@admin1test]$ls##测试文件outcome.mapoutcome.ped##plink软件检测[s20213040583@admin1test]$plink--fileoutcome--homozyg--homozyg-density50--homozyg-gap1000--homozyg-kb500--homozyg-sn......
  • 12-Linux系统上安装aspera并用其批量高速下载转录组数据
     #使用aspera能够帮助我们批量高速下载转录组等数据,现在使用conda进行安装condainstall-chccaspera-cli-y#检查是否安装成功,有东西出来就行ascp-h#另外看看asperaweb_id_dsa.openssh文件是不是在miniconda3/etc文件夹中,务必确认该文件的位置。#我们看看NCBI上面......
  • 13-Linux系统中批量替换文件名
     #1,现在我有一批文件,原名要被替换成新的名字,我们做一个names.txt文件,前面一列是oldname,后一列是newname,用制表符(\t)分隔,最后空出一行即可:A.txtL1.txtB.txtL2.txtC.txtL3.txtD.txtL4.txtE.txtL5.txtF.txtL6.txt  #2,将这个names.txt文件上传到服务器后,修改命令......
  • 14-Linux系统命令,通配符与快捷键
     #以下为Linux系统的基础命令,部分通配符与快捷键,#后接英文标注注释#Usualcommands:pwd#printworkingdirectorycddirectory#gointothedirectorycd~#gobackhomecd..#gobackupperleveldirectorymkdirdirectory#makenewdirectoryvifile#makenewfilea......
  • 11-在linux系统上安装R语言
      #我们在linux系统里面安装R,能够分析许多大数据。前提是安装好conda,可以看教程“https://blog.csdn.net/liangjinghui123/article/details/130318678?spm=1001.2014.3001.5501”#查看conda环境,可以看到现在是base基础环境condainfo--envs#创建名为R的环境,中间点......
  • Win10无法访问linux上的samba服务问题解决
    转自https://blog.csdn.net/u014635079/article/details/124703840服务端:Ubuntu20.04, samba版本4.13.17-Ubuntu客户端:Win10 问题1:按照教程搭建好samba服务之后,从windows可以ping通linux的情况下,从windows端无法连接samba服务器。 解决:通过打开Lanman工作站的启用不......
  • 8-Linux系统安装conda,镜像设置,环境变量
      1,我们现在学习Linux系统,首先得有个服务器的账号,这个要看自己的学校里面有没有专门做生信的课题组问问,或者去淘宝买,或者去那个组学大讲堂公众号里面有服务器租借的(没广告),租个好点的服务器,价格估计5000-10000半年不等的价格,能处理一些转录组等大数据,也可以做WGCNA等其他的大......