我刚刚使用 crle 命令将永久环境变量添加到/var/ld/ld.config和/var/ld/64/ld.config:
crle -E VAR=VALUE -u
crle -E VAR=VALUE -u -64
如何从ld.config中仅删除此变量,但保留rest params?
答案 0 :(得分:1)
crle允许您使用-u添加到现有配置文件,但它不会为您提供从一个选择性地删除内容的方法。这不是对称的,并且删除所选属性的功能可能被视为缺少功能。但是,请注意,不会经常以这种方式操作crle配置文件,因此这不是常见的用例。更常见的是创建一个,然后再完全删除它。并且必须说配置文件通常很少使用。
解决这个问题很容易。目标是删除一个属性,而不必记住所有其他属性,只需将它们带过来。请注意,crle为给定配置文件显示的信息显示了重新创建文件的命令。因此,您可以通过使用剪切/粘贴来获取显示的命令,减去您不再需要的部分,来估计您在此之后的选择性删除类型。
例如,让我们创建一个包含2个环境变量的配置文件:
% crle -c ld.config -E VAR1=v1 -E VAR2=v2
稍后,如果我想从现有的配置文件中删除VAR1,我 将使用'crle -c file'显示当前内容:
% crle -c ld.config
Configuration file [version 5]: ld.config
Platform: 32-bit LSB 80386
Default Library Path: /lib:/usr/lib (system default)
Trusted Directories: /lib/secure:/usr/lib/secure (system default)
Environment Variables:
VAR1=v1 (permanent)
VAR2=v2 (permanent)
Command line:
crle -c ld.config -E VAR1=v1 -E VAR2=v2
最后一行显示了我所需要的一切,重现配置文件,省略了我不再需要的位:
% crle -c ld.config -E VAR2=v2