Сделать приложение командой bash

gerasim9
Дата: 10.02.2010 20:10:00
Возможно, тема сформулирована неепонятно, но я просто не знаю, как это правильно написать :)
Ситуация такая: осваиваю линукс (Centos 5.4), поскольку свежей версии php в репозиториях не нашел, поставил из исходников (а старую снес, через yum ).
Если раньше php в консоли вызывался просто $ php , то теперь надо прописывать полный путь $ /usr/local/php/bin/php
Вот и вопрос: можно ли в моем случае снова сделать так, чтобы php в консоли вызывался короткой командой, и если да - то как.
И вообще - как это правильно называется (т.е. насколько корректно я назвал тему)
Ося
Дата: 10.02.2010 21:03:56
1. в /etc/profile в переменную PATH
2. ln -s в /usr/bin
ineedyou
Дата: 11.02.2010 12:28:46
Раз осваиваете центос, попробуйте собрать последнюю версию php из src.rpm.
Ключевое слово: rpmbuild
gerasim9
Дата: 11.02.2010 15:08:26
Ося
1. в /etc/profile в переменную PATH
2. ln -s в /usr/bin

п.2 помог, спасибо. Насчет п.1 по правде говоря не понял. Вообще п.1 - это альтернатива п.2 или его также необходимо выполнить для чего-то?

ineedyou
Раз осваиваете центос, попробуйте собрать последнюю версию php из src.rpm.
Ключевое слово: rpmbuild

спасибо, поищу, возможно, воспользуюсь советом
ineedyou
Дата: 11.02.2010 18:44:59
автор
осваиваю линукс...
Вообще п.1 - это альтернатива п.2 или его также необходимо выполнить для чего-то?

Начните изучать матчасть. Подраздел "переменные окружения" раздела "работа с коммандным интерпритатором".
Переменная PATH задаёт пути поиска выполняемых файлов. То есть выполняя в коммандной строке любую комманду (за исключением комманд интерпритатора) вы по сути запускаете некий файл (как .exe/.com/.bat в венде). Пути, где будет искать этот бинарь интерпритатор - задаются в этой переменной окружения PATH.
Файл /etc/profile определяет сценарий интерактивного входа в систему. Возможно это неважное место с точки зрения секьюрити чтобы переопределять переменные типа PATH, но для вас - прокатит.
ejnadall
Дата: 12.02.2010 08:21:44
ineedyou,

подскажите плз, поступил так же как и посоветовали коллеге: закинул файл myfile.sh в папку /usr/local/bin эта папка есть в переменной $PATH (вижу по echo $PATH). Но файл из любого места системы почему-то не запускается. На нем есть права на исполнение (x). Сделал к нему символьную ссылку (ln -s /usr/local/bin/myfile.sh myfile) (находился в той же директории поэтому ярлык там и образовался) но и по myfile тоже не могу запустить файл.
Проканал лишь след.вариант:
создал файл myfile в папке /bin вида:
!#/bin/myfile
/usr/local/bin/myfile.sh
Теперь при запуске myfile, сам файл запускается, но опять же этот вариант не айс т.к. в myfile.sh есть ссылка (обращение) на некий (условно назовем его) myfile2 который он (myfile) уже не находит, хотя фактически myfile и myfile2 лежат в одной папке /usr/local/bin .
Как-то путанно объяснил, кажись.
PS: ах да, забыл указать - linux-нуб 1-го уровня :) Так что не судите строго.
ineedyou
Дата: 12.02.2010 11:58:07
автор
подскажите плз, поступил так же как и посоветовали коллеге: закинул файл myfile.sh в папку /usr/local/bin эта папка есть в переменной $PATH (вижу по echo $PATH). Но файл из любого места системы почему-то не запускается. На нем есть права на исполнение (x).


Подтвердите это логом ваших действий

автор

!#/bin/myfile
/usr/local/bin/myfile.sh


Директивой #! стоящей в начале исполняемого файла определяется коммандный интерпретатор, а вы что пытались сделать?

Обший совет: если вам нужно запускать самосборный софт (/usr/local) - добавляйте соотв. пути в окружение СВОИХ пользователей (~/.bash_profile, ~/.bashrc), а не общесистемные.