Rumah  >  Artikel  >  Java  >  Bagaimanakah Saya Boleh Melaksanakan Perintah Shell Linux dengan Paip dan Ubah Arah dari Java?

Bagaimanakah Saya Boleh Melaksanakan Perintah Shell Linux dengan Paip dan Ubah Arah dari Java?

Linda Hamilton
Linda Hamiltonasal
2024-11-26 01:55:10123semak imbas

How Can I Execute Linux Shell Commands with Pipes and Redirections from Java?

Melaksanakan Perintah Shell Linux dari Java dengan Paip dan Lencongan

Apabila cuba berinteraksi dengan sistem Linux dari Java, pembangun sering menghadapi cabaran melaksanakan arahan shell dengan ciri lanjutan seperti ubah hala dan paip. Memahami nuansa menggunakan perintah shell melalui Java adalah penting untuk menyelesaikan tugasan tersebut.

Runtime.exec() ialah kaedah yang biasa digunakan untuk melaksanakan perintah shell dalam Java. Walau bagaimanapun, ia gagal mewujudkan persekitaran shell yang betul, mengehadkan keserasiannya dengan ubah hala dan paip. Sebaliknya, pendekatan pilihan adalah untuk mencipta proses baharu dengan penterjemah shell dan lulus perintah sebagai hujah.

Pertimbangkan kod yang disemak berikut:

Process p = Runtime.getRuntime().exec(new String[]{"csh", "-c", "cat /home/narek/pk.txt"});

Di sini, "csh" penterjemah dilancarkan dengan pilihan "-c", yang membolehkannya melaksanakan arahan yang ditentukan seolah-olah ia dimasukkan terus ke dalam shell csh. Pendekatan ini berkesan mewujudkan persekitaran shell, membolehkan penggunaan ubah hala dan paip seperti yang diperlukan.

Jika sistem anda tidak memasang csh, anda boleh menggantikannya dengan bash seperti berikut:

Process p = Runtime.getRuntime().exec(new String[]{"bash", "-c", "ls /home/XXX"});

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Perintah Shell Linux dengan Paip dan Ubah Arah dari Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn