Это не ошибка, вы можете проверить это с помощью echo $?
после запуска make install-info
. Цель install-info
в Documentation/Makefile
выглядит так:
install-info: info
$(INSTALL) -d -m 755 $(DESTDIR)$(infodir)
$(INSTALL) -m 644 git.info gitman.info $(DESTDIR)$(infodir)
if test -r $(DESTDIR)$(infodir)/dir; then \
$(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) git.info ;\
$(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) gitman.info ;\
else \
echo "No directory found in $(DESTDIR)$(infodir)" >&2 ; \
fi
Программа с именем install
корректно создает информационные -страницы в /usr/local/git/share/info/
, можете проверить:
$ ls -lh /usr/local/git/share/info/
total 2.3M
-rw-r--r-- 1 root root 218K Jun 13 21:46 git.info
-rw-r--r-- 1 root root 2.1M Jun 13 21:46 gitman.info
Цель install-info
была представлена в коммите 4739809c
и гласит:
If the info target directory does not already contain a "dir" file, no directory entry is created.
Файл с именем dir
является частьюGNU texinfo
но это не обязательно.
Также обратите внимание, что если у вас нет /usr/local/git/bin/
в вашем $PATH
, вы не можете запустить git
, просто набрав git
после установки, как вы это сделали, вы должны сделать это вместо этого:
$ /usr/local/git/bin/git --version
git version 2.17.1
Переменная $-
содержит текущие флаги.
Так что можно сделать
case "$-" in
(*'f'*) echo "file globbing is disabled" ;;
(*) echo "file globbing is enabled" ;;
esac
По крайней мере, в bash
я не знаю, зависит ли это от оболочки -, вы можете использовать test -o <optname>
. Имя параметра, соответствующее -f
, — noglob
, поэтому вы можете сделать что-то вроде этого:
$ set -f
$ test -o noglob; echo $?
$ set +f
$ test -o noglob; echo $?
или в скрипте
if [ -o noglob ]; then
echo globbing disabled
else
echo globbing enabled
fi
Есть несколько способов.
Самый портативный тест расширяется$-
set -f; [ -z "${-##*f*}" ] && echo noglob set
В bash и нескольких оболочках:
[ -o noglob ] && echo noglob
Тест для нескольких оболочек:
set -o | grep noglob
Тот, что предназначен только для bash,:
$ shopt -op noglob
shopt -o noglob # +o if globbing is active.
И, если вам нужен тихий тест:
if shopt -oq noglob; then echo noglob set; fi
Вы также можете проверить, что подстановка делает (достаточно переносимой):
set --.*; if [ "$#" -gt 1 ]; then echo glob active; fi