Saya sedang menyusun skrip penanganan file sederhana, semuanya berfungsi dengan baik kecuali di bagian akhir, saya ingin mengatakan do you want to perform another action
dan jika jawabannya yes
maka saya ingin skrip dimulai lagi. Saya tahu saya perlu semacam loop di sini? Inilah yang saya miliki:
#/bin/bash
echo "Select an option from copy , remove , rename , linking"
#read in user input into the action variable
read action
# if action is copy then continue proceed with the following
if [ $action = "copy" ]
then
echo "Please enter the filename you wish to copy"
read filename
# check if filename exists, if it doesn't then exit program
if [ ! -e $filename ]
then
echo "$filename does not exist"
exit 1
fi
echo "Please enter the new filename"
read filenamenew
cp $filename $filenamenew
echo "$filename has been copied to $filenamenew"
# if action is remove then continue proceed with the following
elif [ $action = "remove" ]
then
echo "Please enter the filename you wish to remove"
read filename
# check if filename exists, if it doesn't then exit program
if [ ! -e $filename ]
then
echo "$filename does not exist"
exit 1
fi
rm -rf $filename
echo "$filename has been deleted"
# if action is rename then continue proceed with the following
elif [ $action = "rename" ]
then
echo "Please enter the filename you wish to rename"
read filename
# check if filename exists, if it doesn't then exit program
if [ ! -e $filename ]
then
echo "$filename does not exist"
exit 1
fi
echo "Please enter the new filename"
read filenamenew
mv $filename $filenamenew
echo "$filename has been renamed to $filenamenew"
fi
echo "Do you want to perform another file operation (yes/no) ?"
read answer
if [ $answer = yes ]
then "run script again"
exit 0
elif [ $answer = no ]
then echo "Exiting Program"
exit 0
fi
fi
Jawaban yang Diterima:
sebelum echo “Pilih tindakan …”
answer=yes
while [ "$answer" = yes ]
do
pada akhirnya, ganti
if [ $answer = yes ]
then "run script again"
exit 0
elif [ $answer = no ]
then echo "Exiting Program"
exit 0
fi
fi
oleh
if [ "$answer" = yes ]
then "run script again"
fi
done
echo "Exiting Program"
exit 0
apa yang saya lakukan, adalah melampirkan programm dalam while [$condition ] do ; ... done
.
Saya hanya memastikan kondisinya baik-baik saja (answer=yes
) di putaran pertama.