Якщо в OpenVMS у мене є команда dosomething , звідки я можу побачити, звідки вона надходить (Місце розташування скрипту / exe - як це визначено, якщо це інший вид тварини)
Якщо в OpenVMS у мене є команда dosomething , звідки я можу побачити, звідки вона надходить (Місце розташування скрипту / exe - як це визначено, якщо це інший вид тварини)
Відповіді:
Існує три "джерела" DCL, як ви кажете, "походять від" чогось такого типу.
Одне попередження: синтаксиси з видимим явним виконанням DCL, наприклад:
$'dosomething'
тут не рахуються, лише "видимі, як команда".
Також явні команди RUN або MCR є самими командами, то run dosomething
вони не цікавляться.
Символи
Функція: як псевдонім un * x або як «запуск програми з параметрами», майже як дозори MCR.
Зробіть:
$ show symbol dosomething
Символи "першого використання" (якщо вони використовуються, то мають пріоритет перед наступними кроками)
Справжня команда DCL
Немає вбудованої утиліти для перевірки командної таблиці.
Однак ви можете встановити безкоштовну утиліту VERB.
Потім зробіть:
$ verb dosomething
"Зображення" та "cliroutine" (у висновку VERB) показують .EXE або внутрішню процедуру DCL, де виконується команда.
Використання шляху
Зробіть:
$ directory DCL$PATCH:dosomething
Якщо файл .COM або .EXE існує, командна процедура працює майже як після @DCL$PATH:dosomething
або зображення коду працює як mcr DCL$PATH:dosomething
.
Використання шляху - це "останній шанс" (лише якщо символ не існує або не використовується і не існує істинної команди DCL)
"Майже" у всіх описаних вище описах, оскільки існують незначні різниці в інтерпретації синтаксису, здебільшого не мають значення.
Якщо існує символ з ім'ям, що відповідає вашій "команді", вміст символу може бути переведений двома способами:
якщо вміст починається з "$", використання має назву "іноземна команда" і запускає зображення (файл .EXE) решти вмісту, аж до роздільника (параметр може застосовуватися майже як у псевдонімі); попередження: каталог за замовчуванням вказаного .EXE - SYS $ SYSTEM :, не за замовчуванням процесу!
у всіх інших випадках значення може функціонувати як псевдонім un * x.
Значення символу "вказується" в командному рядку, а заміщений текст інтерпретується як ("нова") команда.
Слово "може" стосується налаштування SET SYMBOL (перевірте HELP SET SYMBOL для опису VERB).
Майте на увазі, що псевдонім додатково пояснює інший реальний синтаксис dcl (справжня команда, експлікація "@" для процедури або "невидиме" використання DCL $ PATH), але не до наступного символу (псевдонім або іноземна команда).
Настійно не рекомендується замінювати будь-яку справжню команду DCL псевдонімами, НЕ це!
Істинна команда встановлюється командою SET COMMAND (очевидно), виконувані (зображення .EXE або внутрішня програма DCL) не пов'язані по-іншому з іменем команди, навіть якщо більшість команд має адекватні імена (команда DIRECTORY запускає SYS $ SYSTEM: DIRECTORY.EXE тощо, але додаток запускає COPY.EXE і HELP запускає VMSHELP.EXE тощо)
Шлях використовується як у un * x, але:
Не думайте, що це працює саме так у OpenVMS, і не існує надійного способу afaik. Для шоу DCL, більшість класифікаторів виявиться в SYS $ SYSTEM: SHOW.EXE, але без файлу MAP не було б можливості зрозуміти, який вихідний модуль насправді увійшов у цей виконуваний файл. DCL не схожий на Bash, де він fork-exec інший процес і завантажує зображення цієї команди.