为当前 shell 重新挂载 /tmp

bry*_*sho 6 linux mount path

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

/tmp 比较小,命令肯定会把它填满,这会给其他系统进程带来问题。

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

这可能吗?

更新:发现该命令使用了TMPDIR我可以覆盖的变量,但仍然想知道是否有我可以使用的 Linux 用户空间命令。

kas*_*erd 14

unshare 命令几乎可以满足您的要求:

unshare -m "$SHELL"
Run Code Online (Sandbox Code Playgroud)

之后,您可以将任何您喜欢的本地挂载更改为该 shell。

我建议您在非共享 shell 中运行的任何挂载命令都使用该-n标志,否则它将更改/etc/mtab整个系统可见的内容。你可能想dfmount命令运行安装在外壳仍显示正确的文件系统之外/tmp