我有一个硬编码的命令,使用/ tmp作为其工作目录.
/ tmp相当小,命令肯定会填满,这将导致其他系统进程出现问题.
我无法修改命令,所以我想在其他地方重新安装/ tmp,只对当前用户/ shell可见,而不影响其他用户/进程.
这可能吗?
更新:发现该命令使用我可以覆盖的TMPDIR变量,但仍然有兴趣知道我是否可以使用Linux用户空间命令.
unshare命令几乎可以满足您的要求:
unshare -m "$SHELL"
之后,您可以将您喜欢的任何本地安装只更改为该shell.
我建议您在非共享shell中运行的任何mount命令都使用-n标志,否则它将更改/ etc / mtab,这将对整个系统可见.您可能希望在该shell外部运行的df和mount命令仍然显示在/ tmp上安装的正确文件系统.