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