Список форумов Шадринский форум -> Отдел игрушек (мягких и твёрдых) -> Операционные системы и сети -> Как сделать?
Начать новую тему   Ответить на тему   вывод темы на печать

Как сделать?

Автор
Сообщение
Slin
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 17.12.2004
Сообщения: 1869


Статус: Offline
СообщениеДобавлено: 2004.12.26 23:39.44
Ответить с цитатой
Смысл проблемы вот в чем. В Линуксе создаю исполняемый файл, например, а.out Smile. Набираю в консоли его имя и он не запускается. Копирую его в директорию, которая прописана в переменной $PATH, и все становится ок. Вопрос: как сделать, чтобы запускалось на местеConfused: А то каждый раз копировать не интересно. Единственное, что приходит на ум: изменить переменную $PATH добавив что-то вроде "." (типа текущая директория), но тоже не знаю как.
Такая же проблема со скриптами. Приходится прописывать bash <имя скрипта>
Посмотреть профиль Отправить личное сообщение ICQ Number
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2004.12.26 23:59.37
Ответить с цитатой
Если память не изменяет, то PATH можно прописать в:
/etc/profile - глобальный профиль, выполняется у всех при логине
~/.bash_profile - локальный юзеровский профиль, выполняется у всех при логине
~/.bashrc - локальный юзеровский профиль, выполняется у всех при каждом старте bash

Логичнее прописать в ~/.bash_profile
что-нибудь типа PATH=$PATH:~/projects

Со скриптами:
Первой строкой вставить #!/bin/bash, или #!/bin/php, вообщем - на каком языке скрипт, тот интерпретатор и вставлять

Не забыть исполняемый бит поставить на скрипт
Посмотреть профиль Отправить личное сообщение
Slin
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 17.12.2004
Сообщения: 1869


Статус: Offline
СообщениеДобавлено: 2004.12.27 00:52.10
Ответить с цитатой
Спасибо! Все проверил - все работает. Со скриптами тоже пути надо настраивать и про бит исполнения забыл Sad
Посмотреть профиль Отправить личное сообщение ICQ Number
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2004.12.27 09:29.57
Ответить с цитатой
Slin, не прописывай в PATH текущую директорию (./), это дурной тон или даже говорят несекурно. если твоя программка не в PATH-е лежит, а ты хочешь её из консольки выполнить, то пиши: ./a.out
не забыв про бит и про первую строку
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Slin
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 17.12.2004
Сообщения: 1869


Статус: Offline
СообщениеДобавлено: 2004.12.27 23:53.50
Ответить с цитатой
хм... неужели выполнится? сейчас проверю!
Посмотреть профиль Отправить личное сообщение ICQ Number
Slin
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 17.12.2004
Сообщения: 1869


Статус: Offline
СообщениеДобавлено: 2004.12.28 00:03.52
Ответить с цитатой
Работает... хотел спросить почему, но подумал и понял Embarassed
Посмотреть профиль Отправить личное сообщение ICQ Number
Slin
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 17.12.2004
Сообщения: 1869


Статус: Offline
СообщениеДобавлено: 2004.12.28 01:36.54
Ответить с цитатой
Еще вопрос: некоторые символы типа ~ ´ ¨ приходится два раза нажимать на клавиатуре чтобы они появились, при этом при печати в редакторе Kate в консоли параллельно отображается вот такой текст
sending IMStart with 0 chars to 0x8334f88
sending IMEnd with 1 chars to 0x8334f88, text=~
как в других не знаю, при наборе в форуме точно этого текста нет, но нажимаю все равно два раза.
Либо в настройках что-то сделал, когда русский ставил, либо тип клавиатуры не тот, либо одно из двух....
И когда пишу вот таким образом кавычки (все в том же Kate) компилятор ошибку выдает
 printf(¨ff¨);
Вывод при компиляции gcc -c shuffle.c
shuffle.c: In function `shuffle':
shuffle.c:28: error: stray '\180' in program
shuffle.c:28: error: stray '\180' in program
shuffle.c:28: error: `ff' undeclared (first use in this function)
shuffle.c:28: error: (Each undeclared identifier is reported only once
shuffle.c:28: error: for each function it appears in.)
Что посоветуете?
Посмотреть профиль Отправить личное сообщение ICQ Number
Джем
Писатель


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 551
Откуда: Шадринск

Статус: Offline
СообщениеДобавлено: 2004.12.28 06:59.07
Ответить с цитатой
Чтобы запустить файл в текущей директории надо ./a.out набрать.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора ICQ Number
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2004.12.28 08:28.16
Ответить с цитатой
Джем писал(а):
Чтобы запустить файл в текущей директории надо ./a.out набрать.
"я не тормоз, я медленный газ" Wink
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2004.12.28 13:23.31
Ответить с цитатой
Прицепить к сообщению файл-исходник программы можно?
Посмотреть профиль Отправить личное сообщение
andy ice
Militärmagazinkatze


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 23385


Статус: Offline
СообщениеДобавлено: 2004.12.28 13:26.44
Ответить с цитатой
смысл?
_________________
Ин дер гросен фамилие нихт клювен клац-клац Neutral
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2004.12.28 13:35.13
Ответить с цитатой
Пример проблемных ситуаций при использовании "." в path
1) рут поставил себе "." в path, зашел в юзеровский каталог и набрал ls. Злобный юзер, предвидя это, создал у себя исполняемый файл с именем ls, который гадит в системе, садит трояны и т.д. Т.к. ls выполняет рут, то ls запускается под рутом и делает что хочет (в большинстве случаев).
2) Юзер тот же, вместо рута - демон. Демоны в юниксах часто бывают под рутом и часто вызывают системные программы для выполнения тех или иных действий. Если текущий каталог при выполнении такого действия - юзеровский, то проблема - та-же, что и в п.1.
Посмотреть профиль Отправить личное сообщение
Slin
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 17.12.2004
Сообщения: 1869


Статус: Offline
СообщениеДобавлено: 2004.12.28 23:51.15
Ответить с цитатой
xdsl писал(а):
Прицепить к сообщению файл-исходник программы можно?
К какому сообщению? ко второму?
там все дело в строке printf(¨ff¨);. Вышеназванные ошибки относятся именно к ней, ибо если ее убрать, то файл компилируется нормально. Сам исходник интереса не представляет, хотя.... сейчас напишу для примера Smile
#include <stdio.h>
int main()
{
    printf(¨ff¨);
}
для компиляции пишу: gcc example.c

p.s. сам файл что-то подцепить не могу....
Посмотреть профиль Отправить личное сообщение ICQ Number
xdsl
просто хороший человек


Пол: Пол:Муж.
Зарегистрирован: 25.11.2004
Сообщения: 1252
Откуда: shadrinsk

Статус: Offline
СообщениеДобавлено: 2004.12.29 00:15.56
Ответить с цитатой
Проблема, похоже - в кавычках. Некавычки они. Поэтому и просил приклеить файл, чтобы убедиться. Попробуйте скомпилировать следующий кусок:

#include <stdio.h>
int main()
{
    printf("ff");
}
Посмотреть профиль Отправить личное сообщение
Slin
Заслуженный писатель


Пол: Пол:Муж.
Зарегистрирован: 17.12.2004
Сообщения: 1869


Статус: Offline
СообщениеДобавлено: 2004.12.29 00:58.26
Ответить с цитатой
Согласен насчет кавычек. Ваш код компилируется нормально. Я пробовал свой сохранить в другом редакторе - там вышла ошибка что-то насчет неверной кодировки.... Я вот сейчас заметил вот что: как только выключаю раскладки клавиатуры в конфигурации все становится нормально, включаю - опять эта штука с юникодом (похоже). Ну вот, пока это печатал и еще кое-что, вроде понял как работает русский язык и кавычки нормально заработали (пришлось это кое-что стирать) .... в общем, проблема самоликвидировалась Rolling Eyes
Конечно, вопросы остаются, но попробую разобраться самостоятельно.
Посмотреть профиль Отправить личное сообщение ICQ Number
Страница 1 из 1
Начать новую тему   Ответить на тему   вывод темы на печать
Показать сообщения:   
Список форумов Шадринский форум -> Отдел игрушек (мягких и твёрдых) -> Операционные системы и сети -> Как сделать?

 
Перейти: 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы