有时可以通过如下调用来欺骗 Linux 应用程序:
HOME=/tmp/foo myapp
这会让 myapp 认为/tmp/foo是主目录,它不会尝试获取用户 ID,而是通过以下方式找到其主目录获取pwent()。
当 myapp 必须强制将其一些配置文件转储到不同于以下位置的非标准位置时,这很有用~。
类似的技巧可以这样做:
LANG=foo LC_ALL=bar myapp
当需要使用不同的语言环境调用一次 myapp 而不必使用以下命令使更改持久化时,这很有用出口bash 内置或甚至修改内容/etc/配置文件。
是否可以对时间和日期使用同样的技巧?目标是让应用程序使用不同于系统时间的其他时间。最终目标是让日志/提交消息中出现的时间戳不与系统时间绑定。
答案1
这个答案Stack Overflow 建议使用一个名为 的库libfaketime
。