Как запустить мою программу C откуда-либо в Системе (Ubuntu 10.10)?

В целом, выражения $1, $2, и т.д. расширьтесь до 1-го, 2-го, и т.д. аргумент, данный на командной строке сценария.

Так, когда Вы вызываете сценарий как:

myscript.sh myfile

затем $1 в рамках сценария расширяется до myfile$2, $3, и т.д. все - пустая строка).

Когда Вы вызываете сценарий как:

myscript < myfile

перенаправление STDIN от myfile сделан родительской оболочкой, таким образом, сценарий на самом деле называют без аргументов и $1 расширяется до пустой строки.

1
01.05.2011, 02:54
5 ответов

Кажется на помещение пути на корректное место. Это не могло бы работать, если у Вас есть пробелы где-нибудь в пути как бы то ни было. Можно попытаться делать это для правильности:

export PATH="$PATH:/home/ahuq/MappingServer/md5_program"

С другой стороны, просто вставьте приложение /usr/local/bin. Или даже установка md5sum пакет, который, кажется, делает то же самое как Ваше приложение.

2
27.01.2020, 23:22

Не видя Ваш dotfiles, трудно сказать наверняка, но от того, что Вы заключили в кавычки, Вы не учли "экспорт", когда Вы добавили его к .profile и .bashrc файлам.

1
27.01.2020, 23:22
  • 1
    Нет. Я попробовал это. Включение: "экспортируйте $PATH:/home/ahuq/MappingServer/md5_program PATH=" в конце "/home/ahuq/.bashrc", и "/home/ahuq/.profile" файлы не помогают. –   01.05.2011, 03:07
  • 2
    Только, чтобы быть уверенными - также необходимо или выйти из системы и въехать задним ходом после добавления export или необходимо вручную получить файлы из командной строки source ~/.bashrc –  Shawn J. Goff 01.05.2011, 04:29

От Вашего вопроса:

root@ahuq-kitchen:/home/ahuq# md5-sanis

Но, Вы говорите, что только отредактировали .bashrc для своего пользователя.

При необходимости в новом пути, чтобы быть глобальными для каждого пользователя, Вы могли бы отредактировать /etc/bash.bashrc (это могло вызвать проблемы, если другие пользователи не могут выполниться md5 от Вашего homedir должного до проблем полномочий). Или, если Вам только нужно изменение, чтобы также применяться к корню, а также Вашему локальному пользователю, считайте отредактированными /root/.bashrc также.

Кроме того, и более предпочтительный, как корень, Вы могли рассмотреть установку/копирование md5 команда к /usr/local/bin, который является моим значением по умолчанию в общем $PATH в Ubuntu.

Вы могли сделать это с:

$ sudo cp/home/ahuq/mappingserver/md5_program/md5/usr/local/bin
$ sudo chown root:root/usr/local/bin/md5
$ sudo chmod 755/usr/local/bin/md5

1
27.01.2020, 23:22

Вы уверены, что работаете bash (и не некоторый другой аромат Оболочки Bourne такой как sh)? Попробовать ps $$ и echo $SHELL проверить это.

Кроме того, Вы могли поместить операторы такой как echo IN FILE XYZ непосредственно прежде, чем добавить это к пути, чтобы видеть, выполняются ли Ваши настройки пути на самом деле.

И помещенный добавление Вашего пути максимально близко к концу Вашей оболочки запускают файл. Я видел файлы запуска в прошлом где в какой-то момент все PATH сбрасывается и восстановите с нуля вместо того, чтобы добавить новые каталоги

0
27.01.2020, 23:22

У меня также возникли некоторые проблемы с добавлением исполняемых файлов в свой путь. У меня сработало добавление строки export PATH = $ PATH: / home / ahuq / MappingServer / md5_program в ~ / .bash_profile .

К сожалению, я не знаю почему, но для met .bashrc не работал, а .bash_profile работал.

0
27.01.2020, 23:22

Теги

Похожие вопросы