Linux

如何將預設 /tmp 更改為 /home/user/tmp

  • March 3, 2022

是否有環境變數可以在基於 debian 的系統上設置臨時目錄?

我有一個使用該環境變數的 java 小程序,並且在啟動同一個小程序的兩個實例時會感到困惑。

我不確定java小程序是否真的會在啟動之前查看環境變數,但是你可以做什麼編輯/etc/profile並添加以下行:

if [[ -O /home/$USER/tmp && -d /home/$USER/tmp ]]; then
       TMPDIR=/home/$USER/tmp
else
       # You may wish to remove this line, it is there in case
       # a user has put a file 'tmp' in there directory or a
       rm -rf /home/$USER/tmp 2> /dev/null
       mkdir -p /home/$USER/tmp
       TMPDIR=$(mktemp -d /home/$USER/tmp/XXXX)
fi

TMP=$TMPDIR
TEMP=$TMPDIR

export TMPDIR TMP TEMP

要使其成為真正的 tmp 目錄(如會話結束時文件消失,您需要編輯使用者的 .bash_logout 以及框架 .bash_logout (/etc/skel/.bash_logout) 以包含以下內容:

if [ -O $TMPDIR && -d $TMPDIR ]; then
       rm -rf $TMPDIR/*
fi

註銷部分很危險,因為未設置變數並且您以 root 身份登錄!我不會將此添加到 root 帳戶或輪組成員的任何人!請謹慎行事。

引用自:https://serverfault.com/questions/72955