Bahasa pemrograman yang saya tahu paling banyak adalah Java. Saat ini saya harus menulis cukup banyak "skrip shell" untuk mengotomatisasi server saya. Apakah ada sesuatu seperti "Java Shell" sehingga saya dapat menulis skrip shell di Jawa?
Bahasa pemrograman yang saya tahu paling banyak adalah Java. Saat ini saya harus menulis cukup banyak "skrip shell" untuk mengotomatisasi server saya. Apakah ada sesuatu seperti "Java Shell" sehingga saya dapat menulis skrip shell di Jawa?
Jawaban:
Anda bisa mendapatkan asyik dan menggunakan groovysh. Saya telah melakukan beberapa hal dengan itu, tetapi saya menemukan perl atau bash / sh yang paling berguna untuk melakukan skrip admin. Bahasa aplikasi seperti Java menambahkan banyak overhead ketika semua yang perlu Anda lakukan adalah menjalankan perintah OS dan mencari teks.
Tidak ada persyaratan nyata bahwa "skrip shell" harus ditulis dalam bahasa shell, Anda dapat melakukan segalanya dengan C atau bahkan Assembler, jika Anda suka.
Dalam konteks skrip shell, shell tidak lebih dari juru bahasa pemrograman, seperti Perl atau PHP, tetapi sangat dioptimalkan untuk jenis pekerjaan yang sebagian besar Anda lakukan dengan skrip shell.
Dalam jangka panjang, saya menyarankan agar Anda mempelajari bash atau sesuatu, yang tidak terlalu sulit karena kemampuan shell sangat terbatas sehingga tidak ada terlalu banyak untuk dipelajari.
Beberapa bahasa jvm yang lebih ringan memiliki cangkang, tetapi itu adalah ujung-depan untuk penerjemah, bukan dialek khusus untuk sysadmining. Shell sistem yang baik perlu memiliki dukungan proses dan file descriptor yang sangat baik dan memiliki sintaks dan builtin yang ringkas, dan saya tidak berpikir itu ada di Jawa.
Anda dapat menggabungkan pemrograman dengan scripting dengan hal-hal seperti koki, boneka, vlad, dan sejenisnya, tetapi itu berarti belajar bash scripting terlebih dahulu, karena bahasa-bahasa itu, cukup masuk akal, mendelegasikan perintah ke shell. Bahasa-bahasa seperti Ruby, Perl dan Python tidak terlalu bertele-tele dan Anda akan sering melihatnya. Kata kerja Java dan beberapa nilai intinya (melakukan segalanya dalam jvm, jangan meninggalkan ide) membuatnya sangat tidak cocok untuk tugas tersebut.
Ya ada. Saya telah menggunakan BeanShell dari waktu ke waktu, meskipun saat ini tidak sedang dikembangkan. Ini adalah interpreter untuk sintaks Java standar dan juga dilengkapi dengan juru bahasa / lingkungan grafis, jika diperlukan.
Anda dapat menulis skrip shell seperti yang dijelaskan dalam dokumen BeanShell , tetapi Anda harus membuat file jar Beanshell tersedia untuk instalasi Java Anda untuk ini (misal, memasukkannya ke /ext/lib
folder instalasi JRE Anda), jika tidak, java tidak akan menemukan bsh.Interpreter
kelas .
Namun, saya juga merekomendasikan untuk melihat lebih dekat opsi scipting shell Anda (Anda tidak menyebutkan lingkungan Anda, tetapi rekomendasi TiZon dengan bash keren ketika menggunakan Linux). Menggunakan bahasa pemrograman serba guna lengkap seperti Java hanya akan menghalangi ketika mencoba menjadi produktif dengan tugas-tugas seperti shell, misalnya memindahkan file di sekitar, menjalankan perintah dan sejenisnya.
Anda mungkin harus melihat Bash Scripting .
Saya menulis jpad.io untuk memungkinkan menjalankan "shell script" java dan potongan interaktif sementara juga memberikan visualisasi yang bagus dari hasilnya. Ini menunjukkan apa yang saya maksud:
Untuk menyalin file menggunakan ini sebagai bahasa scripting Anda akan menggunakan: http://jpad.io/example/1I/fileio
final File file = new File("outt.csv");
Object o = new int[] {1,2,3};
JPad.writeCsv(o, file);
java.nio.file.Files.copy(file.toPath(), Paths.get("copy.csv"));
Yang juga bisa Anda jalankan dari baris perintah sebagai:
> jpad fileio.jpad
> dir
29/04/2017 13:30 <DIR> .
29/04/2017 13:30 <DIR> ..
29/04/2017 13:30 16 copy.csv
29/04/2017 13:30 160 fileio.jpad
29/04/2017 13:30 16 outt.csv
PowerShell, shell berorientasi objek yang dapat menggunakan pustaka C #, telah bersumber terbuka dan tersedia untuk Linux .