Страница 1 из 1

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

Добавлено: 11 авг 2011, 11:30
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))
Может быть кто-нибудь сталкивался с подобным, или хотя бы видел в документации.

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

Добавлено: 11 авг 2011, 11:42
lexa_linux
nix_user, как так? нашел скрипт и незнает что он исполняет..
ну вообще sh и скрипт.. при этом нужно быть в папке со скриптом.

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

Добавлено: 11 авг 2011, 11:55
nix_user
Отвечу сам :)

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

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

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