character


Remove the last character from a bash variable

The following method, removes the last character from a bash variable by using a regular expression that matches any character.


VAR=${VAR%?};

The functionality ${string%substring} deletes shortest match of $substring from the back of $string.
The question mark ? matches zero or one of the previous regular expression. It is generally used for matching single characters.
So by using ? as our $substring we instruct bash to match any character at the end of the variable and remove it.

Example


$ VAR="Banana";
$ VAR=${VAR%?};
$ echo $VAR;
Banan


Remove the first character from a bash variable

The following method, removes the first character from a bash variable by using a regular expression that matches any character.


VAR=${VAR#?};

The functionality ${string#substring} deletes shortest match of $substring from the front of $string.
The question mark ? matches zero or one of the previous regular expression. It is generally used for matching single characters.
So by using ? as our $substring we instruct bash to match any character at the beginning of the variable and remove it.

Example


$ VAR="Banana";
$ VAR=${VAR#?};
$ echo $VAR;
anana