Является ли «/bin/[.exe» законным файлом? [Cygwin, Windows 10] [дубликат]

На основе комментариев @likewhoa выше, необходимо массировать структуру ебилда. Создатели не учитывали недавнюю структуру портежей при создании своих репозиториев git.

Для командной строки

(ebuild без структуры каталогов portage)
В / usr / local / portage / я решил, что snap-confine относится к категории sys-apps

Из командной строки bash:

cd /usr/local/portage
git clone https://github.com/zyga/snap-confine-gentoo.git
cd snap-confine-gentoo
mkdir -pv sys-apps/snap-confine
# the Manifest file will be recreated later
rm -v Manifest
mv -v snap-confine-1.0.32.ebuild sys-apps/snap-confine/
# to avoid errors, you need your masters = gentoo reference
mkdir -v metadata
echo 'masters = gentoo' > metadata/layout.conf 
cd sys-apps/snap-confine
ebuild snap-confine-1.0.32.ebuild manifest clean merge

Как оказалось, .ebuild не был правильно сформирован с правильными зависимостями, но я думаю, что эти шаги представляют собой хорошее руководство на основе вне:

  1. https://wiki.gentoo.org/wiki/Basic_guide_to_write_Gentoo_Ebuilds
  2. https://devmanual.gentoo.org / quickstart /

Для управления портежами

На основе других репозиториев Gentoo я рекомендовал разработчику создать единое репо, содержащее как snap-confine , так и snapd ebuild в категориях пакетов sys-apps и app-emulation соответственно.

Затем мы создали файл metadata / layout.conf , содержащий masters = gentoo , чтобы избежать жалоб на совместимость portage. Руководство разработчика также требует, чтобы у нас был файл profiles / repo_name с указанным именем репо. В папке каждого пакета мы создали файл metadata.xml , а затем запустили repoman manifest , чтобы сгенерировать файл Manifest .

Наконец, пользователю необходимо создать запись в /etc/portage/repos.conf/ , инструкции для которой подробно описаны в репозитории github sakaki-tools

2
03.04.2019, 04:45
1 ответ

Вы не должны не удалять этот файл. В общем, не удаляйте случайные файлы, которые вы не создали сами.

Это исполняемый файл утилиты [. Эта утилита точно такая же, как утилита test, но требует, чтобы последний операнд был ].

См. man [и man test.

Пример использования:

[ -n "hello" ] && echo '"hello" is a non-empty string'

Вы также можете использовать

/bin/[.exe -n "hello" ] && echo 'That works too'

(хотя вам не нужно указывать суффикс .exeв командной строке)

Обратите внимание, что /bin/[.exe— это исполняемый файл для внешней[утилиты. Эта утилита очень часто также доступна как встроенная утилита -в вашей оболочке. Если ваша оболочка bash, тоman bashhelp [)будут документировать ее.

Внешний [в /binили /usr/binиспользуется оболочками, которые не имеют этой встроенной утилиты -или при выполнении теста из чего-то, что не является оболочкой (например с -execпо find).

Связанные:

9
27.01.2020, 21:51

Теги

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