remount / tmp当前shell

我有一个硬编码的命令使用/tmp作为其工作目录。

/tmp是相当小的,并且该命令肯定会填满,这会对其他系统进程造成问题。

我不能修改这个命令,所以我想重新挂载/tmp到别的地方,只对当前用户/ shell可见,而不影响其他用户/进程。

这可能吗?

更新:发现该命令使用TMPDIRvariables,我可以重写,但仍然有兴趣知道是否有一个Linux用户空间命令我可以使用。

unshare命令可以做你所要求的几乎:

 unshare -m "$SHELL" 

之后,你可以改变任何你喜欢的地方到只有壳。

我build议你在非共享shell中运行的任何mount命令都使用-n标志,否则它会改变整个系统可见的/etc/mtab 。 您可能希望在该shell之外运行dfmount命令,以便仍然显示安装在/tmp上的正确文件系统。