выполнение сценария оболочки, не звоня sh неявно

Я задавался вопросом, возможно ли сделать "ссылку" в usr/bin (т.е.). это приводит к сценарию оболочки.

Но я хочу только записать

% shellscript

вместо

% sh shellscript.sh

отчасти как псевдоним.

Действительно ли это возможно?

24
задан ShoX 8 June 2010 в 16:49
поделиться

4 ответа

Сделайте первую строку сценария

#!/bin/sh

Затем сделайте ее исполняемой, набрав команду:

chmod +x shellscript.sh

Если теперь вы поместите сценарий в папку bin , которая находится в ПУТИ вашей системы , и вы сможете запустить ее напрямую. Чтобы увидеть папки на вашем пути, введите:

echo $PATH

Я обычно использую / home / [мое имя пользователя] / bin для сценариев, которые я написал, чтобы они не мешали другим пользователям в системе. . Если я хочу, чтобы они были для всех пользователей, я использую / usr / local / bin , который в большинстве дистрибутивов поставляется пустым.

.sh в конце имени файла сценария - это всего лишь условное обозначение, которое помогает вам запомнить, что это за файл. Он по-прежнему будет работать, если вы переименуете его, например, просто в shellscript , который удовлетворит ваши требования.

46
ответ дан 28 November 2019 в 22:40
поделиться

Помимо создания исполняемого файла сценария и его связывания с / usr / bin, как предлагали другие, вы также захотите добавить строку «shebang» в начало сценария:

#!/bin/sh

# your commands here

Это позволяет указать, какой интерпретатор оболочки (bash, bourne shell, c-shell, perl, python ...) следует использовать для выполнения вашего скрипта.

2
ответ дан 28 November 2019 в 22:40
поделиться

Вы можете сделать сценарий оболочки исполняемым (chmod +x shellscript.sh). Затем вы можете ссылаться на него из /usr/bin (ln -s shellscript.sh /usr/bin/shellscript).

15
ответ дан 28 November 2019 в 22:40
поделиться

Да. Вы можете использовать ln для создания ссылки на shellscript.sh с именем shellscript. Затем вам нужно будет сделать его исполняемым, но после этого (при условии, что /usr/bin находится в вашем пути) вы сможете запустить его с помощью shellscript.

2
ответ дан 28 November 2019 в 22:40
поделиться
Другие вопросы по тегам:

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