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

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

DDD
DDDasal
2024-11-23 13:34:09877semak imbas

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

Memanfaatkan Perintah Shell Linux dari Java: Penjelasan Terperinci

Apabila cuba untuk melaksanakan arahan Linux dari dalam Java, adalah penting untuk memahami nuansa arahan khusus shell dan keserasiannya dengan masa jalan Java persekitaran.

Cabaran: Melaksanakan arahan dengan ubah hala dan paip

Percubaan awal menggunakan Proses p = Runtime.getRuntime().exec("arahan shell") gagal mengendalikan ubah hala atau paip. Ini kerana exec() tidak berintegrasi secara langsung dengan shell sistem.

Penyelesaian: Memanfaatkan Shell "Proxy"

Untuk melaksanakan perintah shell dengan ubah hala dan paip, anda boleh memanfaatkan pendekatan "proksi shell". Ini melibatkan penetapan shell untuk digunakan sebagai langkah perantaraan.

Pelaksanaan:

Ganti exec() dengan yang berikut:

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

Dalam contoh ini, "csh" ialah proksi shell yang digunakan untuk mentafsir arahan "cat /home/narek/pk.txt".

Nota Tambahan:

Jika anda menghadapi masalah menggunakan csh, pertimbangkan untuk menggunakan bash sebagai proksi shell:

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

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Perintah Shell Linux dengan Ubah Arah dan Paip 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