Nghịch chút với biến trong bash shell

Trong Linux thì bash shell có thể coi như 1 công cụ lập trình nhỏ, dùng để xử lí nhiều thao tác tự động. Nắm vững cách sử dụng cách lệnh cũng như lập trình với bash shell, chúng ta có thể làm được nhiều việc mà nếu không có chúng sẽ rất khó khăn.

Trong lúc tìm 1 script nhỏ để đổi tên hàng loạt file, tôi có tìm được tới bài viết này. Ở đây có 2 điểm nhỏ khi xử lí biến trong bash shell khá thú vị, đó là:

1. Nếu có 1 biến $f, thì biến ${f%.txt} sẽ tìm kiếm xâu ".txt" ở cuối biến đó và xóa nó đi.

VD (lấy luôn từ link trên):
f=new-ham.txt # define $f as 'new-ham.txt'
echo ${f%.txt} # display 'new-ham'

2. Cũng tương tự như trên, nhưng thay vì tìm kiếm 1 xâu ở cuối của biến, biểu thức ${f#new-} sẽ tìm kiếm xâu "new-" ở đầu biến.

Với biến $f được khai báo như ở trên thì:
echo ${f#new-} # display 'ham.txt'

Tôi ghi chú lại ở đây để dễ nhớ, sau này còn tra cứu :).