Комментарии 13
Выглядит очень интересно. Deno очень удобный инструмент для написания системных скриптов. Ждём, когда фишки setRaw
перестанут быть unstable.
+3
Кстати про unstable, есть еще одна неприятная особенность. Если импортировать функции из deno.land/std/fs/mod.ts как это сделал я, то тоже придется использовать --unstable, так как в mod.ts есть функция ensureSymlink которая использует нестабильный Deno.symlink. Лучше сразу импортировать из нужного файла deno.land/std/fs/read_json.ts.
+1
прикольно…
сразу понятно было, что явный пиар любимой платформы…
но вот так вот — смешать в кучу сразу три модных слова — v8, rust, typescript — и это всё вместе работает? спасибо, очень интересно!
сразу вопрос — «линковаться» к сишным библиотекам можно?
сразу понятно было, что явный пиар любимой платформы…
но вот так вот — смешать в кучу сразу три модных слова — v8, rust, typescript — и это всё вместе работает? спасибо, очень интересно!
сразу вопрос — «линковаться» к сишным библиотекам можно?
+1
На сколько я понял, сейчас для того что бы «прилинковаться» к сишным библиотекам нужно написать биндинги на расте и подключить как плагин через Deno.openPlugin.
Что-то похожее в webview_deno.
Что-то похожее в webview_deno.
0
0
а также возможность импортировать и запускать скрипты по URL, выгодно отличают Deno от Node и Bash.
Простите, но
curl http://remoteserver.com/myshellscript.sh | bash
+1
Это, конечно, верно, но мой поинт был скорее в том что имея все перечисленные возможности код писать удобнее.
А запуск скрипта из интернета с явным указанием что ему можно делать прям киллер-фича. Могу ошибаться, но для того что бы в bash ограничить, например, доступ к интернету нужно запускать скрипт от пользователя с этими ограничениями. Как тут serverfault.com/questions/550276/how-to-block-internet-access-to-certain-programs-on-linux.
А запуск скрипта из интернета с явным указанием что ему можно делать прям киллер-фича. Могу ошибаться, но для того что бы в bash ограничить, например, доступ к интернету нужно запускать скрипт от пользователя с этими ограничениями. Как тут serverfault.com/questions/550276/how-to-block-internet-access-to-certain-programs-on-linux.
0
код писать удобнее.
Но ведь это зависит от того, какой язык тебе привычнее. Мне вот bash более чем привычен.
А запуск скрипта из интернета с явным указанием что ему можно делать прям киллер-фича.
Запуск чужих скриптов из инета как бы не есть гуд в любом случае. И доступ к инету ограничивать не самое главное, тут сперва доступ к rm -rf / ограничить.
Могу ошибаться, но для того что бы в bash ограничить, например, доступ к интернету нужно запускать скрипт от пользователя с этими ограничениями.
можно просто прописать несуществующий прокси в виде http_proxy, https_proxy, да и баш сам по себе в инет не лезет, туда лезут различные утилиты, каждой можно индивидуально доступ дать.
Я просто думаю, что вашу утилиту некорректно сравнивать с bash. Ее корректно сравнивать с похожими инструментами — какиминить google tasks, todoist for chrome, веб-интерфейсом к кронтабу и тому подобным.
0
Я просто думаю, что вашу утилиту некорректно сравнивать с bash. Ее корректно сравнивать с похожими инструментами — какиминить google tasks, todoist for chrome, веб-интерфейсом к кронтабу и тому подобным.
Не, со специализированными программами в целом еще один todo лист сравнивать не нужно. В самом todo смысла мало, а как «hello world» на новой технологии вполне.
0
А разве в линуксе нет проблемы в том, что в шебанге нельзя передавать несколько аргументов?
Т.е. если файл test.ts
#!/usr/bin/env deno run
console.log('GGGGG')
с пермишенном на исполнение попытаться запустить, то получится следующая картина:
./test.ts
/usr/bin/env: 'deno run': No such file or directory
/usr/bin/env: use -[v]S to pass options in shebang lines
Это в принципе на корню уничтожает смысл половины статьи.
0
Верное замечание, зависит от env. Где-то решается добавлением -S, где-то как, например, в windows не работает вовсе, а на MacOs работает как есть.
Можно попробовать запускать с помощью exec:
Конкретно в статье использование шебанга это способ поскорее взглянуть на конечный результат. Можно было без этого обойтись. В итоге все приходит к deno install, а после установки, не зависимо от платформы, все работает как надо.
Можно попробовать запускать с помощью exec:
#!/bin/sh
':' //; exec "$(command -v deno)" "run" "--allow-env" "$0" "$@"
console.log('GGGGG', Deno.args)
Конкретно в статье использование шебанга это способ поскорее взглянуть на конечный результат. Можно было без этого обойтись. В итоге все приходит к deno install, а после установки, не зависимо от платформы, все работает как надо.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Todo-лист для командной строки на Deno