在 FreeDOS 中设置和使用环境变量

环境变量在几乎所有的命令行环境中都很有用,包括 FreeDOS。
53 位读者喜欢这篇文章。
Looking at a map for career journey

opensource.com

环境变量在几乎所有的命令行环境中都是一个很有用的功能。 一些变量允许你控制命令行的行为或功能,另一些变量允许你简单地存储稍后可能需要引用的数据。 环境变量也在 FreeDOS 中使用。

Linux 上的变量

在 Linux 上,你可能已经熟悉了几个重要的环境变量。 在 Linux 的 Bash shell 中, PATH 变量指定了 shell 可以在哪里找到程序和命令。 例如,在我的 Linux 系统上,我拥有以下 PATH 值:

bash$ echo $PATH
/home/jhall/bin:/usr/lib64/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin

这意味着当我输入像 cat 这样的命令名称时,Bash 会依次检查我的 PATH 变量中列出的每个目录:

  1. /home/jhall/bin
  2. /usr/lib64/ccache
  3. /usr/local/bin
  4. /usr/local/sbin
  5. /usr/bin
  6. /usr/sbin

在我的例子中,cat 命令位于 /usr/bin 目录中,因此该命令的完整路径是 /usr/bin/cat

要在 Linux 上设置环境变量,你需要输入变量名,然后输入等号 (=),再输入要存储在变量中的值。 要稍后使用 Bash 引用该值,请在变量名前面输入美元符号 ($)。

bash$ var=Hello
bash$ echo $var
Hello

FreeDOS 上的变量

在 FreeDOS 上,环境变量具有类似的功能。 一些变量控制 DOS 系统的行为,另一些变量可用于存储一些临时值。

要在 FreeDOS 上设置环境变量,你需要使用 SET 关键字。 FreeDOS 是不区分大小写的,因此你可以使用大写或小写字母键入。 然后,像在 Linux 上一样设置变量,使用变量名、等号 (=) 和要存储的值。

但是,在 FreeDOS 中引用或扩展环境变量的值与在 Linux 上的方式完全不同。 你不能使用美元符号 ($) 来引用 FreeDOS 中的变量。 相反,你需要用百分号 (%) 将变量的名称括起来。

Use % (not $) to reference a variable's value

图片来源:Jim Hall, CC-BY SA 4.0

重要的是在名称前后都使用百分号,因为 FreeDOS 就是通过这种方式知道变量名从哪里开始和结束的。 这非常有用,因为它允许你在立即将其他文本附加(或前置)到值的同时引用变量的值。 让我通过设置一个名为 reply 的新变量,其值为 yes,然后用文本 "11" 在它前面和 "22" 在它后面来引用该值来演示这一点:

Set and reference an environment variable

图片来源:Jim Hall, CC-BY SA 4.0

因为 FreeDOS 不区分大小写,你也可以对变量名以及 SET 关键字使用大写或小写字母。 但是,变量的值将使用你在命令行上键入的字母大小写。

最后,你可以看到 FreeDOS 中当前定义的所有环境变量的列表。 如果没有任何参数,SET 关键字将显示所有变量,因此你可以一目了然地看到所有内容:

Show all variables at once with SET

图片来源:Jim Hall, CC-BY SA 4.0

环境变量是命令行环境中常用的基本要素,这同样适用于 FreeDOS。 你可以设置自己的变量来满足自己的需求,但请小心更改 FreeDOS 使用的某些变量。 这些可能会改变你正在运行的 FreeDOS 系统的行为。

  • DOSDIR: FreeDOS 安装目录的位置,通常是 C:\FDOS
  • COMSPEC: FreeDOS shell 的当前实例,通常是 C:\COMMAND.COM%DOSDIR%\BIN\COMMAND.COM
  • LANG: 用户的首选语言
  • NLSPATH: 系统语言文件的位置,通常是 %DOSDIR%\NLS
  • TZ: 系统的时区
  • PATH: FreeDOS 可以在其中找到要运行的程序的目录列表,例如 %DOSDIR%\BIN
  • HELPPATH: 系统文档文件的位置,通常是 %DOSDIR%\HELP
  • TEMP: 一个临时目录,FreeDOS 将每个命令的输出存储到其中,因为它在命令行上的程序之间“管道”数据。
  • DIRCMD: 一个控制 DIR 命令如何显示文件和目录的变量,通常设置为 /OGNE 以按分组 (G) 目录,然后按名称 (N) 然后按扩展名 (E) 对内容进行排序 (O)。

如果你不小心更改了任何 FreeDOS“内部”变量,你可能会阻止 FreeDOS 的某些部分正常工作。 在这种情况下,只需重新启动你的计算机,FreeDOS 将从系统默认值重置变量。

接下来阅读什么

开始使用 FreeDOS

看起来像是复古计算,但它是一个你可以用来完成任务的现代操作系统。

标签
photo of Jim Hall
Jim Hall 是一位开源软件倡导者和开发者,最著名的是他在 GNOME 中的可用性测试,以及作为 FreeDOS 的创始人和项目协调员。

评论已关闭。

Creative Commons License本作品采用 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.