The ekspansi brace sintaks menerima koma, tetapi tidak menerima spasi setelah koma. Dalam banyak bahasa pemrograman, spasi setelah koma adalah hal biasa, tetapi tidak di sini. Di Bash, keberadaan ruang tanpa tanda kutip mencegah ekspansi brace dilakukan.
Hapus ruang, dan itu akan berhasil:
cp ~/some/dir/{my-file-to-rename.bin,new-name-of-file.bin}
Meskipun sama sekali tidak diperlukan, perhatikan bahwa Anda dapat memindahkan trailing di .bin
luar kawat gigi:
cp ~/some/dir/{my-file-to-rename,new-name-of-file}.bin
Jika Anda ingin menguji efek ekspansi brace, Anda dapat menggunakan echo
atau printf '%s '
, atau printf
dengan format string apa pun yang Anda inginkan, untuk melakukannya. (Secara pribadi saya hanya menggunakan echo
untuk ini, ketika saya berada di Bash, karena Bash's echo
builtin tidak memperluas urutan escape secara default, dan dengan demikian cukup cocok untuk memeriksa perintah apa yang sebenarnya akan berjalan.) Misalnya:
ek@Io:~$ echo cp ~/some/dir/{my-file-to-rename,new-name-of-file}.bin
cp /home/ek/some/dir/my-file-to-rename.bin /home/ek/some/dir/new-name-of-file.bin