我有两个名字不同的文件。我有一个for循环来查看是否有一个文件;如果是,则会更改文件。
我的第一个想法是列出所有文件及其对应的内容。这看起来不太好,我无法涵盖脚本中的所有可能性。如果这是唯一的方法,我该如何做到最好?
该脚本将查找程序是否在桌面上有图标。如果有,那么我的脚本将使用ImageMagick更改其大小。我的问题是程序的名称并不总是与图标文件相同。所以我不确定最好的行动是什么......
我需要将“rtcom-call-ui.desktop”与“general_call.png”配对,以便可以在我的脚本中找到它。该脚本找不到“general_call.png”,因为它正在寻找“rtcom-call-ui.png”。
for applet in $appletDir*
do
app=`basename $applet | sed -e 's/.*://g' -e 's/.*osso-//g' -e 's/\.desktop.*//g'`
find=`find $icoDir64 $icoDirSca | grep .png`
for file in $find
do
base="`basename ${file}`"
if [ "${base}" = "${app}.png" -o "${base}" = "tasklaunch_${app}.png" -o "${base}" = "general_${app}.png" ]; then
echo "WORKING!!!!!!!!!!!!!!!!!! $file"
fi
done
done
答案 0 :(得分:0)
在gnome上,桌面启动器是.desktop
文件:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Name=GIMP Image Editor
GenericName=Image Editor
Comment=Create images and edit photographs
Exec=gimp-2.6 %U
TryExec=gimp-2.6
Icon=gimp
Terminal=false
Categories=Graphics;2DGraphics;RasterGraphics;GTK;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=GIMP
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=2.6.7
X-GNOME-Bugzilla-OtherBinaries=gimp-2.6
StartupNotify=true
MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psd;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;image/x-wmf;
X-Ubuntu-Gettext-Domain=gimp20
X-Ubuntu-Gettext-Domain=gimp20
这是一个样本,GIMP启动器,它是你所拥有的图标类型?如果是,您可以检查文件内容以访问可执行文件名和图标文件名。