Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menjalankan Perintah `mv` dengan Wildcard dalam Go?

Bagaimana untuk Menjalankan Perintah `mv` dengan Wildcard dalam Go?

DDD
Lepaskan: 2024-12-14 20:48:13
asal
174 orang telah melayarinya

How to Run `mv` Commands with Wildcards in Go?

Menjalankan Perintah MV dengan Kad Liar dalam Go

Dalam Go, pakej exec membolehkan pelaksanaan perintah luaran. Walau bagaimanapun, apabila cuba melaksanakan perintah mv dengan kad bebas menggunakan exec.Command, ralat menyatakan "Tiada fail atau direktori sedemikian" mungkin timbul.

Sebab ralat ini ialah apabila pengguna memasukkan arahan yang mengandungi kad bebas, seperti "mv ./source-dir/*", cangkerang mengembangkan kad bebas kepada senarai fail yang sepadan. Walau bagaimanapun, dalam Go, fungsi exec.Command hanya menghantar rentetan yang mengandungi kad bebas sebagai hujah kepada perintah, dan bukannya mengembangkannya.

Untuk menyelesaikan isu ini, seseorang boleh mengembangkan kad bebas secara manual dengan menggunakan fungsi filepath.Glob, yang mengembalikan sepotong laluan fail yang sepadan. Sebagai alternatif, seseorang boleh memanggil shell untuk melakukan pengembangan. Ini boleh dicapai dengan menggunakan fungsi exec.Command dengan "/bin/sh" sebagai hujah pertama, diikuti dengan "-c" dan rentetan arahan dengan wildcard, seperti:

cmd := exec.Command("/bin/sh", "-c", "mv ./source-dir/* ./dest-dir")
Salin selepas log masuk

Oleh memanfaatkan kaedah ini, cangkerang akan mengendalikan pengembangan kad bebas, membenarkan perintah mv untuk dilaksanakan dengan jayanya.

Atas ialah kandungan terperinci Bagaimana untuk Menjalankan Perintah `mv` dengan Wildcard dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan