在 Linux 或 C++ 中使用美元符号“$”(很可能是 Linux)

Jay*_*Jay 2 linux command-line

如果有人告诉我“将文件保存到 $PWD”,这是什么意思?

'$' 符号是否在 linux 用户中大量使用来表示某些东西?

为了您的信息,我从我在 linux 实验室举办的基本 C++ 课程的说明书中得到了这句话。

use*_*686 6

在大多数 shell 中——sh、bash、csh...,——$NAME语法表示变量(类似于%NAME%Windows 中的 cmd.exe);通常是环境变量,但其中一些是 shell 内部的。

(但请注意,此约定有时也会扩展到书面说明,在阅读文本时,需要在心理上替换这些值。)

类似地,一些编程语言——PHP、Perl——也$name用于变量名。


在您的示例中,$PWD是一个自动扩展到当前目录路径的 envvar:

> cd /etc/modprobe.d
> echo $PWD
/etc/modprobe.d
Run Code Online (Sandbox Code Playgroud)

因此,要将文件“保存到 $PWD”,您不需要做任何特别的事情;试图打开一个没有路径的裸文件名已经使用了当前目录。

如果您获得了不同的自定义变量,则必须getenv("NAME")在 C++ 程序中使用来获取其值。

您可以使用env查看所有环境变量,但也可以查看 shell 的文档以了解一些不寻常的变量。