linux – 如何获得给定用户“桌面路径”
发布时间:2020-12-13 17:15:12 所属栏目:Linux 来源:网络整理
导读:如何获取给定用户桌面的路径? 我用过这个: echo $(awk "NR==$(awk 'BEGIN {FS=":"} {print $3}' /etc/passwd | awk "/^$(id -u USERSNAMEHERE)$/ {print NR}")" /etc/passwd | awk 'BEGIN {FS=":"} {print $6}')/Desktop 还有更好的吗? 如果用户桌面名称
如何获取给定用户桌面的路径?
我用过这个: echo $(awk "NR==$(awk 'BEGIN {FS=":"} {print $3}' /etc/passwd | awk "/^$(id -u USERSNAMEHERE)$/ {print NR}")" /etc/passwd | awk 'BEGIN {FS=":"} {print $6}')/Desktop 还有更好的吗? 如果用户桌面名称不是“桌面”怎么办? 谢谢! p.s.:使用Fedora 14,但有没有“通用”方法来找出给定的用户桌面? 解决方法
试试
xdg-user-dirs.
该页面有一个应该适用于当前用户的示例: test -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs && source ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs echo ${XDG_DESKTOP_DIR:-$HOME/Desktop} 此外,如果您必须阅读/ etc / passwd,最好使用getent passwd的输出,因为某些用户数据可能存储在NIS,LDAP或其他一些数据库中. 结合使用它,它适用于名为USERSNAMEHERE的用户: USER=USERSNAMEHERE USERDIR=$(getent passwd $USER | cut -f 6 -d :) USERDIRCONF=${XDG_CONFIG_HOME:-$USERDIR/.config}/user-dirs.dirs test -f "$USERDIRCONF" && . "$USERDIRCONF" echo "${XDG_DESKTOP_DIR:-$USERDIR/Desktop}" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |