Выполните csh-скрипт из bash и не закрывайте csh-shell, но оставайтесь с csh-prompt - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть инструмент, требующий csh, но моей оболочкой по умолчанию является bash. Я хочу / должен выполнить или получить csh-скрипт из bash в csh, и я хочу получить csh-запрос после выполнения скрипта.

Из bash я могу запустить csh через csh и получить csh-prompt, затем я могу запустить любую команду в csh и оставаться с csh-prompt до тех пор, пока я exit.

Я также могу выполнить команду, например, через csh -c 'ls', но после выполнения команды csh завершается, и я снова в bash.

Я хочу что-то вроде этого (как пример)

[bash-prompt]# csh -c 'ls'
file1 file2 file3
[csh-prompt]# date
Tue Apr  2 15:33:35 CEST 2019
[csh-prompt]# exit
[bash-prompt]#

Я не нахожу способа достичь этого - возможно ли выполнить сценарий и получить подсказку для вспомогательных оболочек?

1 Ответ

0 голосов
/ 02 апреля 2019

Просто завершите ваш скрипт с помощью csh.

Первое, на что нужно обратить внимание, это то, что ваш скрипт экспортирует все переменные / функции, которые должна видеть подоболочка.

Вторая вещьэто остерегаться неинтерактивного режима - позже вы можете решить, что хотите запускать этот сценарий не в интерактивном режиме (т.е. просто запустите сценарий, возможно, с некоторыми другими командами, и выйдите).Вам нужно будет разобраться с этим делом отдельно.У меня было бесчисленное количество пользователей, которые ставили sh внизу их .profile или что-то еще, а потом удивлялись, почему мой инструмент, который использовал su для выполнения команд с удаленными привилегиями (от root), завис.

...