51 lines
1.4 KiB
Bash
Executable File
51 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# klevstul :: 24.06
|
|
|
|
this_file_name=`basename "$0"`
|
|
if [ $# -lt 1 ]; then
|
|
echo "error: path to file is missing."
|
|
echo "usage: '$this_file_name [path_to_file]'"
|
|
exit 1
|
|
fi
|
|
input_files=( "$@" )
|
|
|
|
sync_dir_sym=/home/${USER}/syncDir
|
|
syncdir_env_var=SYNCDIR_${HOSTNAME}
|
|
sync_dir=${!syncdir_env_var} # '!' to use the name and not the value
|
|
cwd=$(pwd)
|
|
|
|
# nifty for debugging:
|
|
#echo ${input_files[@]}
|
|
#echo ${sync_dir_sym}
|
|
#echo ${sync_dir}
|
|
#echo ${cwd}
|
|
#echo
|
|
|
|
# loop through all files to delete
|
|
for input_file in ${input_files[@]}; do
|
|
|
|
# if input file has not path specified
|
|
if [[ ${input_file} != *"/"* ]]; then
|
|
input_file="${cwd}/${input_file}"
|
|
fi
|
|
|
|
# substitute parts of the old path, from using the symlink folder, to the non-symlink folder
|
|
# example:
|
|
# "/home/poq/syncDir/0_downloads/topBanner.jpg" > "/home/poq/nextcloud/syncDir/0_downloads/topBanner.jpg"
|
|
#
|
|
# please note, if a file outside of the sync directory is tp'ed, then the replacement will not happen.
|
|
# this is great, as trash-put should work normally outside of the sync-dir. and for files residing outside,
|
|
# no replacemant should be done.
|
|
#
|
|
# new_file=${original_string//old_substring/new_substring}
|
|
new_file=${input_file//$sync_dir_sym/$sync_dir}
|
|
|
|
if [[ -f "${new_file}" ]] || [[ -d "${new_file}" ]] ; then
|
|
trash-put "${new_file}"
|
|
else
|
|
echo "error: unable to delete '${new_file}'"
|
|
fi
|
|
|
|
done
|