Я знаю, что это очень простой вопрос, и что было задано много похожих (но более сложных!) Вопросов. Поэтому я хотел задать это очень плоско. Извините, если это аннулирует правила поведения на этом сайте! Я очень новичок в использовании Unix.
У меня есть программа, которая преобразует файл .evt в .rq1, который используется для анализа данных. Команда для этого проста, например: Convert data.evt (это выводит data.rq1).
Скажем, эта программа находится в каталоге / A, и у меня есть файл данных, который я хочу преобразовать в каталог / B. Как мне выполнить эту программу, не перемещая программу конвертации в каталог B?
/B
и выполнение/A/program
?Ответы:
Это очень просто:
Это означает, что перейдите в каталог A и запустите программу с заданным вами параметром.
источник
A
находится в любом каталоге, в котором вы находитесь.В файловой системе UNIX все ваши встроенные команды являются двоичными файлами (программами), написанными для выполнения определенных задач.
ls
команда делает список каталогов,mv
команда перемещает или переименовывает файлы и т. д.Все эти двоичные файлы хранятся в вашем
/usr/bin
каталог. И путь к этому каталогу хранится в переменной окружения PATH.Если у вас есть много скриптов, которые выполняют определенные задачи, я бы порекомендовал их перемещать в одну папку. скажем, например,
/yourname/scripts
и затем установите этот путь в вашей переменной PATH.Переменная PATH может быть установлена в вашем файле .bashrc или .bash_profile, который загружается всякий раз, когда вы запускаете терминальную сессию. Вы можете просмотреть настройки переменной PATH, выполнив
echo
в теме.[jaypal~]$ echo $PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/local/mysql/bin:/Developer/usr/bin:/usr/local/ActivePerl-5.12/bin:/Library/Ruby/Site/1.8/rubygems:/Library/Ruby/Gems/1.8/gems/wkpdf-0.5.3-universal-darwin/bin:/Library/Ruby/Gems/1.8/gems/wkpdf-0.5.3-universal-darwin/lib
В вашем файле .profile просто добавьте
:/yourname/scripts
папка и делать. .profile
на вашей командной строке. Это заставит ваш текущий сеанс загрузить файл профиля без необходимости выходить и снова входить в систему.После загрузки файла .profile вы можете запустить свой скрипт из любой точки мира, просто набрав
scriptname
варианты или другие аргументы по мере необходимости.это руководство будет полезно для вас.
источник
ln -s
это лучшее решениеПоместите свою программу в
~/bin
каталог (который является сокращением для/home/yourname/bin
) и вы сможете запустить вашу программу из любого места, потому что когда~/bin
существует Баш добавляет его кPATH
по умолчанию (по крайней мере, в Ubuntu). Вам нужно будет создать этот каталог, если он не существует.Если вы хотите стать более продвинутым пользователем Linux - используйте
ln -s
связать вашу программу с ее местоположением~/bin
источник
... и ваш выходной файл должен оказаться в вашем текущем каталоге (при условии, что у вас есть права на запись).
Кроме того, какой вариант Unix вы используете?
источник
Запустите его просто так:
Помните, чтобы не вести / A с
.
как,
означает текущий каталог. Если, конечно, путь, который вы указываете, относится к текущему каталогу.источник