`
zsjg13
  • 浏览: 142623 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

变量和环境变量

 
阅读更多

    脚本语言常常在使用变量前不需要声明变量的类型。在 Bash 中,每个变量的值都是一个字符串,不管是带了引号,还是没带引号。还有一些变量被shell环境以及操作系统环境用来存一些特殊值,这些变量被称为环境变量。

    要查看一个 terminal 所关联的所有环境变量,用 env 命令就行了。对于每一个进程,要查看进程运行时所关联的环境变量,请用 cat /proc/$PID/environ 命令,其中$PID要替换成一个进程的PID值。例如,假设有一个叫gedit 的应用正在运行。我们可以用 pgrep gedit 命令获取它的进程ID,假如是 12501,那么刚才的命令就应该是 cat /proc/12501/environ,输出就是一些名值对,名值对于名值对之间通过 null character (\0)分隔。如果你能够将 \0 替换成 \n,那结果就是一行一行的名值对了。最终的命令就是:

cat /proc/12501/environ | tr '\0' '\n'

    var=value,如果value包含空格字符,那就需要用引号将值括起来,单引号双引号都行。注意 var = value和

var=value是不同的。前者是相等性操作,而后者是赋值操作。要打印一个变量的值,在变量名前加一个$前缀,所以就是 echo $var 或 echo ${var}

    我们可以在 printf 和 echo 中的双引号中使用变量值:

#!/bin/bash

#Filename :variables.sh

fruit=apple

count=5

echo "We have $count ${fruit}(s)"

输出结果是:We have 5 apple(s)

    环境变量不是在当前进程中定义的,而是从父进程中接收。例如,HTTP_PROXY 是一个环境变量,该变量定义了对于一个Internet连接,应当使用哪个代理服务器。export 命令用于设置 env 变量。

    通常,$PATH 是定义在 /etc/environment 或 /etc/profile 或 ~/.bashrc 中。一些熟知的环境变量包括 HOME、PWD、USER、SHELL等等。

 

获取一个字符串的长度:length=${#var},例如:

$ var=12345678901234567890$

echo ${#var}

20

 

获取当前SHELL:用 echo $SHELL 或 echo $0

 

Checking for super user:UID 是一个重要的环境变量,可以被用来检查当前脚本是否是作为 root 用户 还是作为平常用户来执行的。如果是 root 用户,则该变量的值是0。

if [ $UID -ne 0 ]; then

    echo Non root user. Please run as root.

else

    echo Root user

fi

 

定制 shell 提示符:通过 PS1 环境变量。shell 的默认提示文本就是定义在 ~/.bashrc 中。

$ cat ~/.bashrc | grep PS1 就能知道提示文本是如何定义的了。

分享到:
评论

相关推荐

    linux超级基础系列——shell变量(本地变量和环境变量

    在Linux中,shell变量主要分为两大类:本地变量和环境变量。除此之外,还存在另外两种特殊变量,它们是只读的,并且主要用作向shell脚本传递参数。 本地变量仅在创建它们的shell生命期内有效,也就是说,它们只在...

    linux超级基础系列——shell变量(本地变量和环境变量).pdf

    Linux 超级基础系列 —— shell 变量(本地变量和环境变量) shell 变量是 Linux 系统中的一种重要概念,它允许用户存储和重复使用有用的信息,提高工作效率。shell 变量可以分为本地变量和环境变量两种。 什么是...

    Linux Shell脚本系列教程(三):变量和环境变量.docx

    Linux Shell 脚本系列教程(三):变量和环境变量 本文主要讲解了 Linux Shell 脚本系列教程(三):变量和环境变量,涵盖了普通变量、环境变量、获取字符串的长度等内容。 变量 在 Linux Shell 脚本中,变量是必...

    AutoCAD系统变量和环境变量大全

    AutoCAD系统变量和环境变量 含变量说明及变量数据类型

    linux超级基础系列-shell变量(本地变量和环境变量)

    本文介绍了Linux Shell中的本地变量和环境变量的概念及其基本用法。本地变量仅在当前Shell环境中有效,而环境变量则在整个系统范围内有效。通过合理的定义和使用这些变量,可以极大地提高Shell脚本的灵活性和可维护...

    linux超级基础系列——shell变量(本地变量和环境变量)[参考].pdf

    本文将对 Shell 变量进行详细的介绍,包括什么是 Shell 变量、如何使用本地变量和环境变量、变量的设置、显示和清除方法等。 1. 什么是 Shell 变量? Shell 变量是存储设备中的一些可读写的存储单元。变量可以定制...

    Linux Shell脚本系列教程(三):变量和环境变量

    本教程将深入探讨Linux Shell脚本中的变量和环境变量,这些都是编写高效脚本的基础。 首先,我们要了解变量。在Shell脚本中,变量用于存储数据,无需预先声明类型。你可以直接赋值给变量,比如`var=value`或`var=...

    原始环境变量原始环境变量原始环境变量

    原始环境变量原始环境变量原始环境变量原始环境变量原始环境变量

    环境变量的设置.pdf

    环境变量和环境变量的值不要含有空格,也不要用中文,切记! 在设置环境变量时,我们需要注意一些重要的点。例如,在设置JAVA_HOME环境变量时,需要将其值设置为JDK文件夹的路径。CLASSPATH环境变量的值则是JDK下的...

    关于操作系统环境变量的问题

    - 环境变量和变量值不应包含空格,避免使用中文字符,以防止在某些情况下出现解析错误。 - 修改系统变量前,应充分了解其作用和影响范围,以免引起系统不稳定或其他问题。 环境变量的正确设置和管理对于确保软件...

    Linux下如何设置环境变量.docx

    环境变量可以分为两类:系统环境变量和用户环境变量。系统环境变量是系统级别的变量,用于存储系统的配置信息。用户环境变量是用户级别的变量,用于存储用户的自定义设置。 4. 环境变量的作用 环境变量可以影响...

    jdk配置环境变量

    jdk配置环境变量 在这篇文章中,我们将讨论如何配置 JDK 环境变量,并安装 ...配置 JDK 环境变量和 Tomcat 环境变量都是非常重要的步骤。它们可以帮助 Java 和 Tomcat 正常地工作,从而确保应用程序可以正确地运行。

    Windows环境变量读写

    在IT领域,理解和操作环境变量是日常工作中不可或缺的一部分。 LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是美国国家仪器公司(NI)开发的一种图形化编程语言,用于创建自定义的虚拟仪器应用...

    VB获取系统环境变量

    首先,环境变量分为用户环境变量和系统环境变量。用户环境变量只对当前用户生效,而系统环境变量则对所有登录到该系统的用户都有效。常见的环境变量有“PATH”,它指定了操作系统在何处寻找可执行文件,还有“TEMP”...

    JDK和maven的环境变量配置

    此外,需要注意的是,在配置环境变量时,需要区分系统变量和用户变量,系统变量对所有用户有效,而用户变量只对当前用户有效。 JDK、Maven和Tomcat环境变量配置是Java开发环境的基础配置,正确的配置可以确保Java...

    Linux环境变量设置总结

    环境变量可以分为两类:系统环境变量和用户环境变量。系统环境变量是由系统管理员设置的,影响了整个系统的行为。用户环境变量是由用户自己设置的,影响了用户的运行环境。 2. 环境变量的作用 环境变量的作用是...

    c#编程设置环境变量

    这些方法包括获取、设置和检查环境变量。下面,我们将深入探讨如何使用`Environment`类来操作环境变量。 1. **获取环境变量**: 使用`Environment.GetEnvironmentVariable`方法可以获取特定的环境变量值。例如,...

    UG环境变量设置 使用方法

    UG 环境变量设置可以分为两类:系统变量和用户变量。系统变量是 UG 软件提供的默认变量,用户变量是用户自定义的变量。 三、UG 环境变量设置的方法 UG 环境变量设置的方法有多种,可以通过修改 UG 软件的安装目录...

Global site tag (gtag.js) - Google Analytics