понять как работает sh скрипт

Форум предназначен для новичков. В нем предполагается рассматривать вопросы, которые встают на первых этапах освоения Linux
nix_user
Интересующийся
Сообщения: 70
Зарегистрирован: 15 фев 2008, 16:59

понять как работает sh скрипт

Сообщение nix_user »

Добрый день всем. Нужна помощь. Столкнулся с интересным скриптом, хочу понять как он работает, но man bash, гугл и ABS не помогли, допускаю что плохо искал.
В тексте скрипта непонятна конструкция #| |#. Текст скрипта следующий

Код: Выделить всё

#!/bin/sh
#|
exec racket -cu "$0" ${1+"$@"}
|#
#lang racket/base
(printf "This script started slowly, because the use of\n")
(printf "bytecode files has been disabled via -c.\n")
(printf "Given arguments: ~s\n"
(current-command-line-arguments))
Может быть кто-нибудь сталкивался с подобным, или хотя бы видел в документации.

lexa_linux
Увлекающийся
Сообщения: 83
Зарегистрирован: 08 май 2011, 20:23
Откуда: Дзержинск

Re: понять как работает sh скрипт

Сообщение lexa_linux »

nix_user, как так? нашел скрипт и незнает что он исполняет..
ну вообще sh и скрипт.. при этом нужно быть в папке со скриптом.
Xubuntu 14.04 | Kernel 3.13 | Mate

nix_user
Интересующийся
Сообщения: 70
Зарегистрирован: 15 фев 2008, 16:59

Re: понять как работает sh скрипт

Сообщение nix_user »

Отвечу сам :)

Здесь используется особенность LISP и конструкция заключенная в #| |# это блок комментариев
#|
This is a block comment
|#

т.е. получается sh пропускает комментарий #|
а команда exec racket -cu "$0"
запускает скрипт на выполнение в racket , который пропускает блок комментариев #| exec racket -cu "$0" |#

to: lexa_linux
Спасибо за ответ. Вопрос был не в том что он выполняет (это я и так знаю), а как он работает.

Ответить