Запуск bash из /usr/bin/env или /bin [duplicate]

На этот вопрос уже есть ответ здесь:

Что бы посоветовали в качестве первой строки в bash скрипте:

#! /usr/bin/env bash

или

#! /bin/bash
0
задан 5 April 2014 в 15:59

2 ответа

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

Используя env средства, что первое bash экземпляр в пути пользователя будет выбрано. Это означает, что #!/usr/bin/env bash будет всегда работать с выбранной версией удара пользователя, и она должна всегда оценивать к доступному bash даже в нестандартных системах. Это становится намного более важным при использовании другого интерпретатора не колотят. Perl, например, может быть установлен на различных местоположениях в различных системах, но env найдет его независимо.

Так, с помощью #!/usr/bin/env PROGRAM хорошая привычка войти, так как она делает сценарии более портативными к различному *, отклоняют версии.

0
ответ дан 5 April 2014 в 15:59

Если у Вас будут serveral версии удара, установленного (возможный), то использование #!/usr/bin/env bash гарантирует, что используемый удар является первым на Вашей среде $PATH.

Используя #!/bin/bash будет жесткое кодирование двоичный файл, сохраненный в #!/bin.

Относитесь: Подобный вопрос на ТАК

0
ответ дан 5 April 2014 в 15:59

Другие вопросы по тегам:

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