Что означает флаг `-f` при использовании в shebang: `#!/bin/ bash -f`?

#linux #bash #shell

#linux #баш #оболочка

Вопрос:

что означает флаг shebang -f? В частности, он используется в файле bash cript’а,

 #!/bin/bash -f
echo hello
# blabla 
 

Ответ №1:

Он передает -f флаг bash экземпляру, который запускает скрипт:

От $ bash -c "help set" :

  -f  Disable file name generation (globbing).
 

Из https://tldp.org/LDP/abs/html/options.html:

 Abbreviation    Name    Effect

-f              noglob  Filename expansion (globbing) disabled
 

Комментарии:

1. Прекрасный ответ, но, возможно, также укажите, что это зависит от того, какой интерпретатор указан. Например, #!/usr/bin/sed -f довольно распространен и означает что-то совершенно другое. На самом деле, для csh and sed и awk и ряда других инструментов -f опция является обязательной, когда вы помещаете их в shebang, и говорит о чтении команд из этого файла.