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!