本脚本通过域管下发默认为root权限执行
 
#!/bin/bash

cd /home

#快捷方式图标名称
string_imgName="temp1.png"

#快捷方式文件名称
string_fileName="/changePassword.desktop"

#快捷方式内容
function insertInfo() {
cat >> $1$string_fileName <<EOF
[Desktop Entry]
#快捷方式名称
Name=修改密码双击此处
#描述
Comment=修改密码双击此处
#应用程序完整路径
Exec=/opt/apps/com.360.browser-stable/files/com.360.browser %U https://www.baidu.com
# 默认浏览器 Exec=/usr/bin/browser %U https://www.baidu.com
Terminal=false
Type=Application
Categories=Application;Network;
EOF
}
#获取用户文件夹
userlist=(`ls -d */`)
#遍历用户文件夹
for username in ${userlist[@]}
do
echo 当前用户:${username%?}
#排除非用户文件夹
if [ $username == "lost+found/" ];then
echo "本用户不执行"
echo "本用户流程结束"
echo "================="
continue
fi
string_userpath="/home/"$username"Desktop"
#类trycatch结构
{
cd $string_userpath 2>/dev/null
} || {
echo "权限不足"
echo "本用户流程结束"
echo "================="
continue
}
#判断快捷方式图标路径是否存在
if [ ! -e "/home/"$username".icons/default" ];then
mkdir -p "/home/"$username".icons/default"
fi
#判断快捷方式图标是否存在
if [ -e "/home/"$username".icons/default/"$string_imgName ];then
echo "图标存在"
else
#下载图标
wget https://www.baidu.com/img/flexible/logo/pc/result.png -P /home/$username.icons/default
#重命名图标
mv /home/$username.icons/default/result.png /home/$username.icons/default/$string_imgName
#设置权限
chmod 755 /home/$username.icons/default/$string_imgName
fi
#判断快捷方式是否存在
if [ -e $string_userpath$string_fileName ];then
echo "文件存在"
echo "本用户流程结束"
echo "================="
continue
fi
#写入快捷方式内容
insertInfo $string_userpath
echo "Icon=/home/"$username".icons/default/"$string_imgName >> $string_userpath$string_fileName
#设置用户权限防篡改
chmod 644 $string_userpath$string_fileName
echo "本用户流程结束"
echo "================="
done