脚本语言常常在使用变量前不需要声明变量的类型。在 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变量主要分为两大类:本地变量和环境变量。除此之外,还存在另外两种特殊变量,它们是只读的,并且主要用作向shell脚本传递参数。 本地变量仅在创建它们的shell生命期内有效,也就是说,它们只在...
Linux 超级基础系列 —— shell 变量(本地变量和环境变量) shell 变量是 Linux 系统中的一种重要概念,它允许用户存储和重复使用有用的信息,提高工作效率。shell 变量可以分为本地变量和环境变量两种。 什么是...
Linux Shell 脚本系列教程(三):变量和环境变量 本文主要讲解了 Linux Shell 脚本系列教程(三):变量和环境变量,涵盖了普通变量、环境变量、获取字符串的长度等内容。 变量 在 Linux Shell 脚本中,变量是必...
AutoCAD系统变量和环境变量 含变量说明及变量数据类型
本文介绍了Linux Shell中的本地变量和环境变量的概念及其基本用法。本地变量仅在当前Shell环境中有效,而环境变量则在整个系统范围内有效。通过合理的定义和使用这些变量,可以极大地提高Shell脚本的灵活性和可维护...
本文将对 Shell 变量进行详细的介绍,包括什么是 Shell 变量、如何使用本地变量和环境变量、变量的设置、显示和清除方法等。 1. 什么是 Shell 变量? Shell 变量是存储设备中的一些可读写的存储单元。变量可以定制...
本教程将深入探讨Linux Shell脚本中的变量和环境变量,这些都是编写高效脚本的基础。 首先,我们要了解变量。在Shell脚本中,变量用于存储数据,无需预先声明类型。你可以直接赋值给变量,比如`var=value`或`var=...
环境变量和环境变量的值不要含有空格,也不要用中文,切记! 在设置环境变量时,我们需要注意一些重要的点。例如,在设置JAVA_HOME环境变量时,需要将其值设置为JDK文件夹的路径。CLASSPATH环境变量的值则是JDK下的...
这个类提供了对当前进程的环境变量的访问,包括用户环境变量和系统环境变量。我们可以通过`GetEnvironmentVariables()`方法获取所有环境变量,它返回一个`Dictionary, string>`类型的对象,键是变量名,值是变量值。...
- 环境变量和变量值不应包含空格,避免使用中文字符,以防止在某些情况下出现解析错误。 - 修改系统变量前,应充分了解其作用和影响范围,以免引起系统不稳定或其他问题。 环境变量的正确设置和管理对于确保软件...
环境变量可以分为两类:系统环境变量和用户环境变量。系统环境变量是系统级别的变量,用于存储系统的配置信息。用户环境变量是用户级别的变量,用于存储用户的自定义设置。 4. 环境变量的作用 环境变量可以影响...
首先,环境变量分为用户环境变量和系统环境变量。用户环境变量只对当前用户生效,而系统环境变量则对所有登录到该系统的用户都有效。常见的环境变量有“PATH”,它指定了操作系统在何处寻找可执行文件,还有“TEMP”...
jdk配置环境变量 在这篇文章中,我们将讨论如何配置 JDK 环境变量,并安装 ...配置 JDK 环境变量和 Tomcat 环境变量都是非常重要的步骤。它们可以帮助 Java 和 Tomcat 正常地工作,从而确保应用程序可以正确地运行。
Gbase 8sdbaccess环境变量介绍 Gbase 8s dbaccess 环境变量是指在 Gbase 8s 数据库管理系统中,用于控制 dbaccess 工具行为的变量。这些变量可以根据需要进行设置,以达到不同的目的。 1. DBFLTMASK 环境变量 ...
在IT领域,理解和操作环境变量是日常工作中不可或缺的一部分。 LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是美国国家仪器公司(NI)开发的一种图形化编程语言,用于创建自定义的虚拟仪器应用...
此外,需要注意的是,在配置环境变量时,需要区分系统变量和用户变量,系统变量对所有用户有效,而用户变量只对当前用户有效。 JDK、Maven和Tomcat环境变量配置是Java开发环境的基础配置,正确的配置可以确保Java...
环境变量可以分为两类:系统环境变量和用户环境变量。系统环境变量是由系统管理员设置的,影响了整个系统的行为。用户环境变量是由用户自己设置的,影响了用户的运行环境。 2. 环境变量的作用 环境变量的作用是...
UG 环境变量设置可以分为两类:系统变量和用户变量。系统变量是 UG 软件提供的默认变量,用户变量是用户自定义的变量。 三、UG 环境变量设置的方法 UG 环境变量设置的方法有多种,可以通过修改 UG 软件的安装目录...