How to remove the first/last characters from a variable in a shell script

While working on a Bash / Fish script I had the need to remove the last n characters from a string and it took way longer to figure out than I wanted.

Here’s the solution I found:

#!/bin/sh
original="my original string"
result=$(echo $original | cut -c10-) #cut first 10 chars
echo $result

To remove the last n characters:

#!/bin/sh
original="my original string"
result=$(echo $original | rev | cut -c10- | rev) #cut last 10 chars
echo $result

Download my free Linux Handbook!