I want to add the third parameter that will be changing files name from upper to lower OR lower to upper but in this third parameter I want to specify what file's name must be changed? What's wrong with this script? Thank you in advance.
#!/bin/bash
if test "$1" = "lower" && test "$2" = "upper"
then
    for file in *; do
        if [ $0 != "$file" ] && [ $0 != "./$file" ]; then
        mv "$file" "$(echo $file | tr [:lower:] [:upper:])";
        fi
fi
done
elif test "$1" = "upper" && test "$2" = "lower"
then
    for file in *; do
    if [ $0 != "$file" ] && [ $0 != "./$file" ]; then
    mv "$file" "$(echo $file | tr [:upper:] [:lower:])";
    fi
done
fi
if [ "$1" = "lower" ] && [ "$2" = "upper" ] && [ "$3" = "$file" ]; 
then
    for file in * ; do
    if [ $0 != "$file" ] && [ $0 != "./$file" ]; then
    mv "$file" "$(echo $file | tr [:lower:] [:upper:])";
    fi
done
fi
 
     
     
     
    