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

输出的就是桌面路径了

 

上一篇:arr包集成方案及问题处理


下一篇:把图片后缀变为jpg格式