GNU/Linux >> Belajar Linux >  >> Linux

Dapatkan Script Untuk Berjalan Lagi Jika Input Ya?

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.


Linux
  1. Bagaimana Cara Mendapatkan Nama Distribusi Dan Nomor Versi Dalam Script Shell Sederhana?

  2. Cron Job Untuk Memeriksa Apakah Script Php Berjalan, Jika Tidak Maka Jalankan?

  3. Menjalankan skrip shell secara paralel

  1. Linux – Bagaimana Cara Menjalankan Script Pada Layar Lock/unlock?

  2. Jalankan skrip bash setelah login

  3. Bagaimana cara menjalankan skrip pada kunci/buka kunci layar?

  1. Bagaimana Menjalankan Skrip??

  2. Bagaimana saya meminta input Ya/Tidak/Batalkan dalam skrip shell Linux?

  3. Menyembunyikan input pengguna di terminal dalam skrip Linux