![为当前 shell 重新挂载 /tmp](https://linux22.com/image/647761/%E4%B8%BA%E5%BD%93%E5%89%8D%20shell%20%E9%87%8D%E6%96%B0%E6%8C%82%E8%BD%BD%20%2Ftmp.png)
我有一个硬编码的命令/tmp
作为其工作目录使用。
/tmp
相当小,并且命令肯定会填满它,这将给其他系统进程带来问题。
我无法修改命令,所以我想重新挂载到/tmp
其他地方,只对当前用户/shell 可见,而不影响其他用户/进程。
这可能吗?
更新:发现该命令使用了TMPDIR
我可以覆盖的变量,但仍然想知道是否有我可以使用的 Linux 用户空间命令。
答案1
取消共享命令几乎可以完成您所要求的操作:
unshare -m "$SHELL"
此后,您可以将任何您喜欢的坐骑本地更改为仅该 shell。
我建议在非共享 shell 中运行的任何挂载命令都使用标志-n
,因为否则它将改变/etc/mtab
整个系统可见的内容。您可能希望在该 shell 之外运行df
命令mount
以仍然显示挂载在 上的正确文件系统/tmp
。