'How to read user interaction of rm -I command and store in a variable shell scripting
so this function basically runs similar to rm -i command and the arguments are passed while executing (eg. bash script_Name test.txt).
rm -i $file does ask me to confirm y or n. If "y" then the script run as expected and sends the file's path to another file (.restore.info) in the home directory. But when "n" is entered the path still goes to another file (.restore.info) and does not delete the file (test.txt) from the current directory. For both "y" and "n" the file (test.txt) does copies cp to a folder (recyclebin) in home directory.
My question is, can I do it in such a way that only when the user hit "y", all the other lines should be executed (cp and >> to .restore.info)?
file=$1
if [ -f $file ]
then
if [ ! -e $file ] ; then
echo "FILE DOES NOT EXIST - OPERATION ABORTED"
fi
inode=$(ls -i $file | cut -d " " -f1)
#filename=$(basename $file)
newfilename=$file\_$inode
fixedPath=$(readlink -fn $file)
echo $newfilename:$fixedPath >> $HOME/.restore.info
cp $file $HOME/recyclebin/$newfilename
rm -i $file
if [ ! -e $file ] ; then
echo "Recycling $file please wait"
fi
fi
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|