sid_com sid_com - 3 months ago 9
Bash Question

What is the simplest way to remove a trailing slash from each parameter?

What is the simplest way to remove a trailing slash from each parameter in the '$@' array, so that

rsync
copies the directories by name?

rsync -a --exclude='*~' "$@" "$dir"





The title has been changed for clarification. To understand the comments and answer about multiple trailing slashes see the edit history.

Answer

You can use the ${parameter%word} expansion that is detailed here. Here is a simple test script that demonstrates the behavior:

#!/bin/bash

# Call this as:
#   ./test.sh one/ two/ three/ 
#
# Output:
#  one two three

echo ${@%/}
Comments