Я только что узнал, что могу использовать chmod
выполнить myscript.sh
исполняемый файл и запустить его как $ ./myscript.sh
Но как я могу приложить к нему пользовательскую команду, например $ connectme [options]
?Как запустить мою собственную программу с помощью команды в Shell?
ответ
Вы должны сделать две вещи:
- Дайте имя, которое вы хотите использовать. Либо просто переименуйте его, либо установите ссылку (жесткую или символическую). Убедитесь, что правильно названный объект имеет права доступа.
- Убедитесь, что он находится в вашем пути. Но положив «
.
» в васPATH
это плохая идея (tm), поэтому скопируйте ее в$HOME/bin
и положите , что в вас.
Совершенно другой подход. Большинство оболочек поддерживают псевдонимы. Вы можете определить его для запуска скрипта.
Примечание: Переменная среды PATH
говорит оболочку, где искать программы для запуска (если не указан полный путь, как /home/jdoe/scripts/myscript.sh
или ./myscript.sh
), она состоит из «:
» разделенного списка каталогов изучить. Вы можете проверить ваши с:
$ printenv PATH
приводит меня в
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/usr/X11R6/bin
которые являются обычными каталогами для исполняемых файлов. Вы можете добавить новый элемент пути с (в/bin/sh
и производные):
$ export PATH=$PATH:$HOME/bin
в csh
и производные используют
$ setenv PATH $PATH:$HOME/bin
либо из них, что приведет к оболочке также поиск ~/bin
для вещей запустить. Затем переместите скрипт в этот каталог (если хотите, введите новое имя). Убедитесь, что вы выполняете разрешения для скрипта и просто введите его имя, как любая другая команда.
Fianlly, использование расширения «.sh
» для обозначения сценария оболочки предназначено только для потребления человеком. Unix не заботится о том, как вы называете свой скрипт: это так называемая «shebang» («#!
») в первой строке скрипта, которую ОС использует для поиска интерпретатора.
Я не хочу псевдонима, и не могли бы вы дать мне несколько примеров того, как переименование работает? Я думал, что бы вы ни назвали его, вы всегда запускаетесь как /usr/dir/myscript.sh – derrdji
Я думаю, что я неправильно истолковал вопрос. –
Вам нужно узнать о аргументах в ПРОГРАММИРОВАНИИ BASH. Here - хороший учебник по ним. Проверьте раздел № 4.
В принципе, вам нужно использовать специальные переменные $ 1, $ 2, $ 3 для обозначения аргументов первой, второй и третьей аргументов соответственно.
Пример:
$ ./mycript.sh A-Rod
С MyScript.ш существо:
#!/bin/bash
echo "Hello $1"
Напечатает:
Hello A-Rod
Как поклонник Red Sox, я чувствую себя обязанным -1 этим ответом .... –
hehehehehehehe ... Нет! Да ладно! Я имел в виду теннис «A-Rod» (Энди Роддик) ;-) –
Большое спасибо за tut. Я знаю о аргументах, но мне нужно сказать, что у программы есть интерфейс типа «$ connectme [options]» вместо того, чтобы запускать его как «./myscript.sh» – derrdji
- 1. запустить Java команды с помощью сценария Shell
- 2. Как настроить мою собственную программу как команду buind-in?
- 3. Как написать мою собственную программу Global Snippets с .NET?
- 4. Как создать мою собственную программу NDK с источником AOSP?
- 5. как запустить мою собственную внешнюю команду в скрипте python
- 6. Как запустить мою программу с помощью дискретной карты?
- 7. Не удается запустить мою программу
- 8. Как выполнить мою программу без команды ./a.out?
- 9. Не удается запустить мою программу
- 10. Как запустить мою программу при запуске?
- 11. Как запустить мою программу с множеством разных аргументов в Eclipse
- 12. windbg: Можно ли встроить движок Windgb в мою собственную программу?
- 13. Ошибка Ant при попытке запустить мою программу
- 14. Windows PowerShell. Запустить программу с помощью команды PowerShell
- 15. Как сгладить `dir` с помощью команды shell?
- 16. Возможно запустить SBT-команды в Shell-Script?
- 17. Попытка понять алгоритм Ханоя, используя мою собственную программу
- 18. Как запустить приложение, которое открыло мою собственную схему URL-адресов?
- 19. BlueJ пытается запустить мою Java-программу навсегда
- 20. Не могу запустить мою программу -% GC calculator
- 21. Удалить команды из Spring-Shell
- 22. Cant запустить мою программу из командной строки
- 23. Как я могу запустить мою программу java на GPU? Как изменить мою программу можно ускорить?
- 24. Как правильно экспортировать мою программу
- 25. Не удается запустить мою программу java
- 26. Как написать программу с помощью команды «lm»?
- 27. В ROS как опубликовать мою собственную тему?
- 28. Не удается запустить мою базовую программу переключения
- 29. Не удается запустить мою первую программу OpenCL
- 30. Как найти мою версию оболочки с помощью команды linux?
BTW-- Я голосовал, чтобы подтолкнуть это суперпользователя как «Как запустить оболочку» тип вопроса, но если Пабло больше на правильном пути то это была ошибка. – dmckee