Можно работать, сценарий оболочки с пользователем имеет лучшее разрешение записи (такое как корень), и когда Вы производите данные, должен записать в папку, что пользовательская пост-ГРЭС базы данных может записать в (такие как/tmp)
после конца записи данных переместите его в каталог, который Ваш сценарий оболочки имеет разрешение записать (как пользователь root, может записать в где угодно),
Если это находится в Вашем пути, то можно работать также type git
или which git
. which
команда имела проблемы при получении надлежащего пути (беспорядок между средой и точечными файлами). Для type
, можно получить просто путь с -p
аргумент.
Если это не находится в Вашем пути, то лучше искать его с locate -b git
Это найдет что-либо названным 'мерзавцем'. Это будет длинный список, так могло бы быть хорошо квалифицировать его с locate -b git | fgrep -w bin
.
Стандарт POSIX способ сделать это command -v git
. Все подобные UNIX системы должны поддерживать это.
whereis git
и Вы получаете путь к команде.
это просто, если мерзавец находится в Вас, СОЕДИНЯЮТ переменную каналом, в случае, если Вы установили ее не через Вас диспетчер пакетов, это более сложно, и необходимо использовать find
или locate
команды.
type
, скорее нет which
. Посмотрите, Как использовать which
на искаженной команде?
– Gilles 'SO- stop being evil'
08.01.2012, 01:39
Другие ответы здесь, кажется, в основном приспособлены к современным версиям Linux, поэтому если Вы, оказывается, используете git
на ОС, которая не имеет locate
, whereis
, which
, или apropos
(как Солярис, HPUX, и т.д.), затем всегда существует старое резервное устройство find
.
find / -name git
Один некоторые более старые версии упомянутых выше систем, Вам, возможно, понадобится a -print
опция, предоставленная find
.
find / -name git -print
И если Вы действительно используете locate
, удостоверьтесь, что Вы работаете updatedb
периодически. (locate.updatedb
на некоторых производных BSD)
type
; это надежно и портативно (кроме к 30-летним системам).
– Gilles 'SO- stop being evil'
08.01.2012, 01:40
type
.:) Это определенно входит в репертуар!
– Tim Kennedy
09.01.2012, 17:20
find
делает полный поиск в глубину файловой системы, начинающей с того, везде, где Вы базируетесь она. Так find / -name git
пересечет Вашу целую систему. Если Вы знаете, что программа находится на Вашем пути, можно обычно делать IFS=":"; path=$PATH; set $path; for dir in $path; do find $dir -name git; done
, хотя файловые системы Unix являются достаточно разрешающими, что это может прервать множество путей, если имеют странные символы в Вашем PATH
.
– quodlibetor
10.01.2012, 01:18
PATH
, корректная вещь (с теми же протестами как прежде) IFS=":"; for dir in $PATH; do find "$dir" -name git; done
. Кроме того, для повторения этот ответ должен только использоваться людьми, у которых нет доступа к type
или which
или locate
, т.е., почти никто. ответ @Arcege корректен.
– quodlibetor
10.01.2012, 23:34
Получить путь к установленной программе Вы любое использование whereis
или which
. Если Вы, оказывается, забываете, что это - имя, можно использоватьapropos
с синонимом или описанием Вашей утилиты, например. apropos "version control"
найдет git
. Следующий, который является, конечно, whatis
управляйте для краткого суммирования функции программы. Это однако не относится ко всем программам и функциям в Вашей системе. Попробуйте, например, whatis "the meaning of life, universe and everything"
.
locate
бесконечно (это очень быстро), но для тех, которые не знают о нем,locate
только так же актуально как его новое обновление базы данных, которое автоматически ежедневно выполняется на моей Ubuntu. Команда обновленияsudo updatedb
... Такжеlocate
имеет встроенную regex возможность, таким образом, команды как это работают:locate -br "^git$"
...-b' означает, ограничивают поиск просто базовым именем... или без-b
, это ищет полный путь.. Кроме того, это только ищет пути, которые Вы настроили его для поиска.. нет никакого управления командной строки этого кроме Ваших фильтров regex. – Peter.O 07.01.2012, 23:24type
кому:which
.which
легко запутывается. – Gilles 'SO- stop being evil' 08.01.2012, 01:38type
оболочка, встроенная, который говорит мне псевдонимы и такой, иwhich
внешняя программа, которая показывает мне путь к исполняемому файлу... хотя, если существует встроенное, которое мешает, которым не назовут исполняемый файл. – quodlibetor 10.01.2012, 23:37which
это, это не знает о созданной-ins оболочке и функции (который релевантен, когда Вы задаетесь вопросом, что ввод команды сделает), и это использует другое$PATH
в некоторых системах. – Gilles 'SO- stop being evil' 10.01.2012, 23:42