Язык программирования, о котором я знаю больше всего, - это Java. В настоящее время мне приходится писать довольно много «сценариев оболочки» для автоматизации моих серверов. Есть ли что-то вроде «Java Shell», чтобы я мог писать сценарии оболочки на Java?
8
Ответы:
Вы можете получить Groovy и использовать Groovysh. Я кое-что с этим сделал, но считаю perl или bash / sh наиболее полезными для выполнения сценариев администратора. Язык приложений, такой как Java, добавляет много накладных расходов, когда все, что вам нужно, это выполнять команды ОС и искать текст.
источник
Нет реального требования, чтобы «сценарии оболочки» были написаны на языке оболочки, вы можете делать все с C или даже с Assembler, если вам это нравится.
В контексте сценариев оболочки оболочка является не более чем интерпретатором языка программирования, такого как Perl или PHP, но сильно оптимизирована для той работы, которую вы в основном выполняете со сценарием оболочки.
В долгосрочной перспективе я бы посоветовал вам изучить bash или что-то еще, что на самом деле не сложно, потому что снаряды очень ограничены в своих возможностях, так что не так уж много нужно учить.
источник
Некоторые из более легких языков jvm имеют оболочки, но они являются интерфейсом интерпретатора, а не обычными диалектами для системного администрирования. Хорошая системная оболочка должна иметь отличную поддержку дескрипторов процессов и файлов, иметь краткий синтаксис и встроенные функции, и я не думаю, что она существует в Java.
Вы можете смешивать программирование со сценариями с такими вещами, как chef, puppet, vlad и тому подобное, но это означает, что сначала нужно изучить сценарии bash, потому что эти языки довольно разумно делегируют команды оболочке. Такие языки, как Ruby, Perl и Python, менее многословны, и вы увидите, что они часто используются. Многословие Java и некоторые его основные ценности (делайте все в jvm, не оставляйте ide) делают его очень плохо приспособленным для этой задачи.
источник
Да, есть. Время от времени я использую BeanShell , хотя в данный момент он не активно разрабатывается. Это интерпретатор для стандартного синтаксиса Java, а также поставляется с графическим интерпретатором / средой, если требуется.
Вы можете написать свои сценарии оболочки, как описано в документации по BeanShell , но для этого вам необходимо сделать jar-файл Beanshell доступным для вашей установки Java (например, поместить его в
/ext/lib
папку вашей установки JRE), иначе java не найдетbsh.Interpreter
класс ,Тем не менее, я бы также порекомендовал поближе взглянуть на параметры настройки оболочки (вы не упомянули свою среду, но рекомендация TiZon с bash хороша при использовании Linux). Использование полноценного языка программирования общего назначения, такого как Java, будет мешать только при попытке продуктивно выполнять задачи, подобные оболочке, например, перемещать файлы, вызывать команды и тому подобное.
источник
Возможно, вам стоит взглянуть на Bash Scripting .
источник
Я написал jpad.io, чтобы позволить запускать java "сценарии оболочки" и интерактивные фрагменты, а также обеспечивать хорошую визуализацию результатов. Это показывает, что я имею в виду:
Чтобы скопировать файл, используя его в качестве языка сценариев, вы должны использовать: http://jpad.io/example/1I/fileio
Который вы также можете запустить из командной строки как:
источник
Да, добавьте beanhell .jar в каталог Javahome / jre / lib / ext, и затем вы сможете запускать сценарии следующим образом:
источник
PowerShell, объектно-ориентированная оболочка, которая может использовать библиотеки C #, была открыта и доступна для Linux .
источник