Как получить значок для типа MIME?

Если автоматически проверяет код возврата:

if (darcs show repo); then
  echo "repo exists"
else
  echo "repo does not exist"
fi

Вы могли также выполнить команду и использовать && (логичный И) или || (логичный ИЛИ) впоследствии, чтобы проверить, успешно выполнилось ли это или нет:

darcs show repo && echo "repo exists"
darcs show repo || echo "repo does not exist"

Перенаправление stdout и stderr может быть сделан однажды с exec

exec 6>&1
exec 7>&2
exec >/dev/null 2>&1

if (darcs show repo); then
  repo="darcs"
elif (test -d .git); then
  repo="git"
fi

# The user won't see this
echo "You can't see my $repo"

exec 1>&6 6>&-
exec 2>&7 7>&-

# The user will see this
echo "You have $repo installed"

Первые два exec сохраняют stdin и stderr дескрипторы файлов, третьи перенаправления оба к /dev/null (или где-нибудь другой, если пожелали). Последние два exec восстановите дескрипторы файлов снова. Все промежуточное не перенаправляется к нигде.

Добавьте другие проверки repo как предложенный Gilles.

3
22.05.2013, 09:58
1 ответ

Вы пробовали g_content_type_get_icon ()?

Вы, возможно, должны были бы звонить g_content_type_from_mime_type () сначала.

Документы GContentType

2
27.01.2020, 21:29

Теги

Похожие вопросы