linux下獲取桌面路徑


之前寫了個腳本用於客戶端的安裝,在生成桌面快捷方式時,直接寫死了“~/Desktop”,然而在使用過程中,發現有些系統的桌面路徑是”~/桌面”, 居然是中文的! 一開始想用系統語言判斷,比如$LANG是zh_CN.UTF-8那么就認為是中文桌面,然而實際情況是也有可能是英文的桌面目錄。。。。。

后來搜索了一把,發現可以通過~/.config/user-dirs.dirs來獲取

kylin@kylin-FT2000:~$ cat ~/.config/user-dirs.dirs
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
# 
XDG_DESKTOP_DIR="$HOME/桌面"
XDG_DOWNLOAD_DIR="$HOME/下載"
XDG_TEMPLATES_DIR="$HOME/模板"
XDG_PUBLICSHARE_DIR="$HOME/公共的"
XDG_DOCUMENTS_DIR="$HOME/文檔"
XDG_MUSIC_DIR="$HOME/音樂"
XDG_PICTURES_DIR="$HOME/圖片"
XDG_VIDEOS_DIR="$HOME/視頻"

 

由於shell腳本不擅長,於是又是一頓搜索

desk=`cat $HOME/.config/user-dirs.dirs | grep DESKTOP | tail  -1  |cut -d '=' -f 2  | sed 's/\"//g'`
var=`eval echo $desk`
echo $var

輸出的就是桌面路徑了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM