Смысл проблемы вот в чем. В Линуксе создаю исполняемый файл, например, а.out . Набираю в консоли его имя и он не запускается. Копирую его в директорию, которая прописана в переменной $PATH, и все становится ок. Вопрос: как сделать, чтобы запускалось на месте: А то каждый раз копировать не интересно. Единственное, что приходит на ум: изменить переменную $PATH добавив что-то вроде "." (типа текущая директория), но тоже не знаю как.
Такая же проблема со скриптами. Приходится прописывать bash <имя скрипта> |
Если память не изменяет, то PATH можно прописать в:
/etc/profile - глобальный профиль, выполняется у всех при логине ~/.bash_profile - локальный юзеровский профиль, выполняется у всех при логине ~/.bashrc - локальный юзеровский профиль, выполняется у всех при каждом старте bash Логичнее прописать в ~/.bash_profile что-нибудь типа PATH=$PATH:~/projects Со скриптами: Первой строкой вставить #!/bin/bash, или #!/bin/php, вообщем - на каком языке скрипт, тот интерпретатор и вставлять Не забыть исполняемый бит поставить на скрипт |
Спасибо! Все проверил - все работает. Со скриптами тоже пути надо настраивать и про бит исполнения забыл |
Slin, не прописывай в PATH текущую директорию (./), это дурной тон или даже говорят несекурно. если твоя программка не в PATH-е лежит, а ты хочешь её из консольки выполнить, то пиши: ./a.out
не забыв про бит и про первую строку _________________ Ин дер гросен фамилие нихт клювен клац-клац |
хм... неужели выполнится? сейчас проверю! |
Работает... хотел спросить почему, но подумал и понял |
Еще вопрос: некоторые символы типа ~ ´ ¨ приходится два раза нажимать на клавиатуре чтобы они появились, при этом при печати в редакторе Kate в консоли параллельно отображается вот такой текст
Либо в настройках что-то сделал, когда русский ставил, либо тип клавиатуры не тот, либо одно из двух.... И когда пишу вот таким образом кавычки (все в том же Kate) компилятор ошибку выдает
|
Чтобы запустить файл в текущей директории надо ./a.out набрать. |
Джем писал(а): Чтобы запустить файл в текущей директории надо ./a.out набрать._________________ Ин дер гросен фамилие нихт клювен клац-клац |
Прицепить к сообщению файл-исходник программы можно? |
смысл? _________________ Ин дер гросен фамилие нихт клювен клац-клац |
Пример проблемных ситуаций при использовании "." в path
1) рут поставил себе "." в path, зашел в юзеровский каталог и набрал ls. Злобный юзер, предвидя это, создал у себя исполняемый файл с именем ls, который гадит в системе, садит трояны и т.д. Т.к. ls выполняет рут, то ls запускается под рутом и делает что хочет (в большинстве случаев). 2) Юзер тот же, вместо рута - демон. Демоны в юниксах часто бывают под рутом и часто вызывают системные программы для выполнения тех или иных действий. Если текущий каталог при выполнении такого действия - юзеровский, то проблема - та-же, что и в п.1. |
xdsl писал(а): Прицепить к сообщению файл-исходник программы можно?там все дело в строке printf(¨ff¨);. Вышеназванные ошибки относятся именно к ней, ибо если ее убрать, то файл компилируется нормально. Сам исходник интереса не представляет, хотя.... сейчас напишу для примера
p.s. сам файл что-то подцепить не могу.... |
Проблема, похоже - в кавычках. Некавычки они. Поэтому и просил приклеить файл, чтобы убедиться. Попробуйте скомпилировать следующий кусок:
|
Согласен насчет кавычек. Ваш код компилируется нормально. Я пробовал свой сохранить в другом редакторе - там вышла ошибка что-то насчет неверной кодировки.... Я вот сейчас заметил вот что: как только выключаю раскладки клавиатуры в конфигурации все становится нормально, включаю - опять эта штука с юникодом (похоже). Ну вот, пока это печатал и еще кое-что, вроде понял как работает русский язык и кавычки нормально заработали (пришлось это кое-что стирать) .... в общем, проблема самоликвидировалась
Конечно, вопросы остаются, но попробую разобраться самостоятельно. |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы можете скачивать файлы |