`
zsjg13
  • 浏览: 146043 次
  • 性别: 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下的...

    C#清除无效的系统环境变量

    这个类提供了对当前进程的环境变量的访问,包括用户环境变量和系统环境变量。我们可以通过`GetEnvironmentVariables()`方法获取所有环境变量,它返回一个`Dictionary, string>`类型的对象,键是变量名,值是变量值。...

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

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

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

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

    VB获取系统环境变量

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

    jdk配置环境变量

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

    Gbase 8sdbaccess环境变量介绍

    Gbase 8sdbaccess环境变量介绍 Gbase 8s dbaccess 环境变量是指在 Gbase 8s 数据库管理系统中,用于控制 dbaccess 工具行为的变量。这些变量可以根据需要进行设置,以达到不同的目的。 1. DBFLTMASK 环境变量 ...

    Windows环境变量读写

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

    JDK和maven的环境变量配置

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

    Linux环境变量设置总结

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

    UG环境变量设置 使用方法

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

Global site tag (gtag.js) - Google Analytics