спросите о значении сценария bash - PullRequest
1 голос
/ 14 октября 2011

У меня есть сценарий оболочки application.sh, как показано ниже.

#! /bin/busybox sh

set -o nounset -o errexit

readonly emul_script="/usr/local/bin/emul.sh" 
readonly profile="/etc/vendor/profile"    
source "${profile}"                

_usage() {
        cat << EOF
${0} [-d]
        -d      :debug
EOF

Приведенный выше скрипт запускает определенное приложение.Мой вопрос связан с частью, начинающейся с _usage, я не совсем понимаю, что это значит, и не могу понять, как она используется.

Ответы [ 3 ]

4 голосов
/ 14 октября 2011

<< - это конструкция heredoc и cat s от всего до конечного маркера (EOF в этом случае) до стандартного вывода.

${0}имя входного файла, и это выведет в stdout что-то вроде следующего:

application.sh [-d]
    -d      :debug

Кстати, вы пропустили конечный }.

1 голос
/ 14 октября 2011

В дополнение к тому, что говорит trojanfoe, _usage() - это функция оболочки.

Но она никогда не вызывается и не вызывается само приложение, поэтому я предполагаю, что это только часть скрипта.

0 голосов
/ 14 октября 2011

Функция _usage может быть вызвана из сценария ${profile}, который находится непосредственно над ней.

Осторожно, вы можете захотеть поместить ее перед строкой source, потому что, строго говоря,оно должно быть определено до его использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...