Eu não entendo porque você está fazendo isso tão complexo. Por que usar o recurso de expansão do histórico !:N
quando você já tem tudo o que precisa ser passado como argumento? Por exemplo:
#! /bin/bash
source="/Source/$1"
destination="Destination/"
folderParam="$(basename "$source")"
/usr/bin/rsync -avh -r "$source" "$destination"
rsyncStatus=$?
if($rsyncStatus==0)
then
cp /Status/Sucesss /Result/Success_"$folderParam"
else
cp /Status/Failure /Result/Failure_"$folderParam"
if
Ou ainda mais simples:
#! /bin/bash
source="/Source/$1"
destination="Destination/"
folderParam="$(basename "$source")"
if /usr/bin/rsync -avh -r "$source" "$destination"; then
cp /Status/Sucesss /Result/Success_"$folderParam"
else
cp /Status/Failure /Result/Failure_"$folderParam"
if
Ou até mesmo:
#! /bin/bash
source="/Source/$1"
destination="Destination/"
folderParam="$(basename "$source")"
touch "/Result/Failure_$folderParam"
/usr/bin/rsync -avh -r "$source" "$destination" &&
mv /Result/Failure_"$folderParam" /Result/Success_"$folderParam"