I was wondering if you could solve this Linux Problem. Write a Bash script calle
ID: 3870256 • Letter: I
Question
I was wondering if you could solve this Linux Problem.
Write a Bash script called newmv (to replace the Unix command mv) that tries to rename the specified file (using the Unix command mv) if the destination file exists, instead creates an index number (a sort of version number) to append to the destination file. So if I type $ . /newmv a.txt b.txt - but if b.txt already exists, newmv will move the file to b.txt.1 Note that if b.txt.1 already exists, you must rename the file to b.txt.2, and so on, until you can successfully rename the file with a name that does not already exist . If the src and dest files are not specified on the command line exit gracefully with an error messageExplanation / Answer
#!/bin/bash
isFileExists()
{
destFile=$1
if [ -e $destFile ]
then
return 0
else
return 1
fi
}
if [ $# -eq 0 ];
then
echo "no arguments suppiled"
exit
fi
source=$1
dest=$2
i=0
while :
do
isFileExists $dest
out=$?
if [ ${out} -eq 0 ]; then
dest=$dest$i
isFileExists $dest
i=$((i+1))
else
mv $1 $dest
break;
fi
done
We will check for the file and then move it.
Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.