Di Linux saya terkadang mengganti nama file seperti ini:
mv dir1/dir2/dir3/file.txt dir1/dir2/dir3/file.txt.old
Perhatikan bahwa saya hanya ingin mengganti nama file, tidak memindahkannya ke direktori lain.
Apakah ada perintah yang memungkinkan saya melakukan versi singkat dari perintah itu? Saya sedang memikirkan sesuatu seperti:
mv dir1/dir2/dir3/file.txt file.txt.old
atau mungkin bahkan sesuatu seperti (hanya menambahkan nama):
mv dir1/dir2/dir3/file.txt {}.old
Tujuan saya adalah tidak harus menentukan path lengkap lagi.
Saya tahu "contoh-contoh" yang saya tulis itu tidak berhasil, tetapi itu hanyalah gagasan tentang apa yang ingin saya capai.
Saya tidak mau harus masuk ke direktori.
(cd dir1/dir2/dir3 && exec mv file.txt{,.old})
secara efektif memiliki kinerja yang sama dengan kode tanpa subproses, karena exec
menghindari fork()
selama permintaan perintah eksternal, sehingga Anda memiliki tepat satu garpu jalan baik.