私はどのようにアクセスするには定義された変数だけでなく、不思議~/.config/user-dirs.dirs
とxdg-user-dir
、例えば"$(xdg-user-dir VIDEOS)"
、だけでなく、次の標準の変数を:
XDG_CACHE_HOME:-$HOME/.cache
XDG_CONFIG_HOME:-$HOME/.config
XDG_DATA_HOME:-$HOME/.local/share
XDG_RUNTIME_DIR:-"/run/user/$USER"
XDG_CONFIG_DIRS:-/etc/xdg
XDG_DATA_DIRS:-/usr/local/share:/usr/share
そのために、~/.bash_login
ファイルで次のようにします。
# Define standard directories.
declare -gx XDG_CACHE_HOME=~/.cache
declare -gx XDG_CONFIG_HOME=~/.config
declare -gx XDG_DATA_HOME=~/.local/share
declare -gx XDG_RUNTIME_DIR="/run/user/$USER"
declare -gx XDG_CONFIG_DIRS="$(IFS=: path /etc/xdg)"
declare -gx XDG_DATA_DIRS="$(IFS=: path /usr/local/share:/usr/share)"
# Source supplementary directories to export or overwrite existing standard ones.
declare a="$XDG_CONFIG_HOME/user-dirs.dirs"
if [[ -e $a ]]; then
source "$a"
declare b=""
for b in ${!XDG_*}; do
if [[ $b =~ ^XDG_[_[:alnum:]]+_DIR$ ]]; then
declare -gx "$b"
fi
done
fi
「XDG」ディレクトリ構造仕様で定義されたユーザーディレクトリ変数以外の上記のディレクトリおよびパス変数にアクセスするメカニズムはありますか?
XDG_RUNTIME_DIR:-"/run/user/$UID"