1 #!/bin/bash
2
3 ### Remove const suffix
4 v=abcd
5 echo ${v%d} ${v%%cd}
6 # stdout: abc ab
7
8 ### Remove const prefix
9 v=abcd
10 echo ${v#a} ${v##ab}
11 # stdout: bcd cd
12
13 ### Remove vectorized const suffix
14 set -- 1a 2a 3a
15 argv.py ${@%a}
16 # stdout: ['1', '2', '3']
17 # N-I dash stdout: ['1a', '2a', '3']
18 # N-I mksh stdout-json: ""
19
20 ### Remove const suffix from undefined
21 echo ${undef%suffix}
22 # stdout:
23
24 ### Remove smallest glob suffix
25 v=aabbccdd
26 echo ${v%c*}
27 # stdout: aabbc
28
29 ### Remove longest glob suffix
30 v=aabbccdd
31 echo ${v%%c*}
32 # stdout: aabb
33
34 ### Remove smallest glob prefix
35 v=aabbccdd
36 echo ${v#*b}
37 # stdout: bccdd
38
39 ### Remove longest glob prefix
40 v=aabbccdd
41 echo ${v##*b}
42 # stdout: ccdd
43