Ksh Script автоматически вызывает другой скрипт в / usr / bin - PullRequest
0 голосов
/ 20 января 2011

Я выполняю скрипт ksh с именем abs.ksh, расположенный в / app / fao ...., который подключается к серверу, Но сервер получает скрипт с именем "ksh", который находится в / usr / bin ... Я не вызываю никакой скрипт с именем ksh в файле abs.ksh (извините, не могу вставить код).

Также это происходит только тогда, когда скрипт запускается в режиме отладки. В режиме без отладки все работает нормально.

Может ли кто-нибудь дать мне подсказку о том, что может происходить здесь.

1 Ответ

1 голос
/ 09 февраля 2011

В стандартной «классической» среде Unix может быть несколько оболочек.Например, 'sh' - исходная оболочка Bourne, 'ksh' - оболочка Korn, csh - оболочка C, bash, tcsh и т. Д. И т. Д. Для входа в систему пользователя будет установлена ​​оболочка по умолчанию.

#!в начале исполняемого скрипта находится инструкция для интерпретации и запуска последующего текста с именем программы, следующим за «#!».

Например, запустите это с perl

#!/bin/perl

<.. perl stuff ..>

Так что да! # / Usr / bin / ksh - запустит скрипт с интерпретатором команд (оболочкой) в этом месте.

Нужна дополнительная информация.Как вы работаете в режиме отладки.Т.е. вы вводите 'ksh -x ...' или 'sh -x' - если это так, где это находится в вашем пути поиска.Например, 'wherece ksh' - возможно, вы работаете с другой оболочкой в ​​режиме отладки.

Кроме того, что это за ОС?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...