.desktopファイルからアイコンパスを抽出しています。
時には、ファイルにファイルの絶対パスが含まれていることがあります。
Icon=/snap/spotify/41/usr/share/spotify/icons/spotify-linux-128.png
それ以外の場合はファイル名のみがあり、拡張子はありません。
Icon=spotify-linux-128
私は現在/usr/share/icons/hicolorフォルダからアイコン名を検索しています。しかし、アイコンパスが絶対パスでファイルを指している場合、findが間違った場所を探しているため、結果は出ません。
私のbashスクリプトに文字列が画像であるかどうかを知る方法はありますか?
私は確認しようとしています:
file $iconpath
しかし、パスが存在しない場合、明らかに何かが間違っているでしょう。
もっと良い方法がありますか?
あなたは何をしますか?
ベストアンサー1
@muruが指摘したように。
これ確かに解決策は、文字列が/で始まることを確認することです。
つまり
if [[ $icon == /* ]]
then
echo "is a file path"
else
echo "is not a file path"
fi
編集する:
ファイルが存在することを確認するためにこれを行うこともできます。
if [ -a $icon ];
then
echo "File exists"
else
echo "File does not exist"
fi