[linux] shebang
На этот счёт есть несколько ответов.
A39: Сдуру можно много чего сломать
A40: Так завещел великий и мудрый LT и по другому <...> некошерно.
и самый правильный
A9: ОС - это БЗДя
---
...Я работаю антинаучным аферистом...
Неужели сложно разобрать аргументы как следует? как в командной строке shell? Почему не разрешить длиннее 128 символов строку?
Я бы сказал, что это проблема clisp, если все опции только в командной строке задаются, и не переопределяются изнутри программы.
> Это вряд ли, ведь шелл отлично и в юзерленде живёт.
Он там и живёт, а параметры разбираются.
Может, всё-таки, не в этом дело?
> Я бы сказал, что это проблема clisp, если все опции только в командной строке задаются,
> и не переопределяются изнутри программы.
По-твоему, опции обрабатываются позже загрузки состояния ВМ?
А как иначе определить, какое состояние ВМ загружать?
Поставим вопрос иначе.
Допустим, ВМ-по-умолчанию не будет отрабатывать пользовательские команды,
тогда что ж, живому пользователю каждый раз набирать (load "file")?
---
Q7: А что за suxx?
A7: unix.
А ты хочешь, чтобы в ядре был интерпретатор команд, совместимый с sh? Это вряд ли, ведь шелл отлично и в юзерленде живёт.Если он есть хоть какой-то, то почему такой? Пусть не "совместимый с sh", но хоть опции разбирающий?
Логика где? Как они выбрали что поддержать? Почему бы разработчикам Linux не повторить то что уже было сделано во FreeBSD? Они FreeBSD-шное поведение переосмыслили, вот и интересно "как".
Не надо этого.
---
...skripa zubama...
Странно. Я вот только что проверил, мои скрипты которые начинаются на !#/usr/bin/perl -wT работают как и положено под линуксом. -w и -T действуют.
#!/bin/sh
exec /usr/bin/clisp -M mem.clisp -q -q -norc <<EOF
...
EOF
чтоб больше не задаваться вопросом о несправедливости жизни.
---
...Я работаю антинаучным аферистом...
#!/usr/local/bin/clisp -norc -M /usr/home/fvv/work/lisp/qst-cgi.clisp -q -q -E utf-8
Вот такая штука не работает.
Пусть не "совместимый с sh", но хоть опции разбирающий?Каким-то образом он опции передаёт, см. ответ 'а.
Просто нужно где-то остановиться, а то следующий захочет, чтобы переменные окружения подставлялись, чтоб эскейпинг работал, чтоб больше одной программы можно было запустить, чтоб работали && и ||, и т.д.
Все такие сложности - в юзерленде пусть живут.
Оставить комментарий
pilot
В alt.Linux меня не слышат, но все равно интересно:столкнулся с этим когда делал cgi на lisp:
Вот такой shebang не распознается в линухе. (точнее, запускается просто clisp)
Параметры командной строки в shebang'е не разбираются. В отличие от FreeBSD.
Почему так жизнь устроена?