Когда оболочка запускает встроенную команду и сигнал генерируется клавиатурой, что будет обрабатывать этот сигнал?

Хотя это не выбирает интерпретатор в сценарии оболочки (он выбирает его для каждой машины), это более простая альтернатива, если у вас есть административный доступ ко всем машинам, на которых вы пытаетесь запустить сценарий. на.

Создайте символическую ссылку (или жесткую ссылку, если необходимо), чтобы указать на нужный путь интерпретатора. Например, в моей системе perl и python находятся в /usr/bin:

cd /bin
ln -s /usr/bin/perl perl
ln -s /usr/bin/python python

создаст символическую ссылку, позволяющую разрешать хеш-банг для /bin/perl и т. д. Это также сохраняет возможность передавать параметры сценариям.

0
19.08.2017, 00:33
1 ответ

Что будет обрабатывать сигнал, встроенная программа или bash?

Программа встроенной команды — bash. Это определение встроенной программы: она встроена в оболочку, а не является внешней программой.

Оболочка может реагировать по-разному в зависимости от того, что она делает, когда получает сигнал. Но сигнал всегда получает процесс оболочки, поскольку в него не вовлечен ни один другой процесс.

4
28.01.2020, 02:15

Теги

Похожие вопросы