Ketika %digunakan dalam pola ${variable%substring}itu akan mengembalikan konten variabledengan kejadian terpendek substringdihapus dari belakang variable.
Fungsi ini mendukung pola wildcard - itulah sebabnya ia menerima bintang (tanda bintang) sebagai subtitle untuk nol atau lebih karakter.
Harus disebutkan bahwa ini khusus untuk Bash - shell linux lain tidak perlu mengandung fungsi ini.
Jika Anda ingin mempelajari lebih lanjut tentang manipulasi string di Bash, saya sangat menyarankan membaca halaman ini . Di antara fungsi praktis lainnya - misalnya - menjelaskan apa yang %%harus dilakukan :)
Edit: Saya lupa menyebutkan bahwa ketika itu digunakan dalam pola $((variable%number))atau $((variable1%$variable2))yang %karakter akan berfungsi sebagai operator modulo. DavidPostill memiliki tautan dokumentasi yang lebih spesifik dalam jawabannya.
Ketika %digunakan dalam konteks yang berbeda, itu harus dikenali sebagai karakter biasa saja.
%%atau##, karena itu cukup mudah diingat dan langka untuk menemukan bagian yang tepat dengan cepat.man bash/##