Judulnya mengatakan itu semua. Setelah saya diminta, saya ingin ya dan tidak untuk masing-masing memanggil fungsi.
# Check to see if you ran this script before
echo
echo I need to know if this is your first time...
while true; do
read -p "" yn
case $yn in
[Yy]* ) new;;
[Nn]* ) exit;;
* ) echo "Please answer yes or no.";;
esac
done
# Define function as new
new (){
clear; echo As you are new, I will need a few things.
}
# Define function as root
root(){
echo "$(tput setaf 6)Hello, world$(tput sgr0)"
}
echo
Jika pengguna memasukkan "y", saya ingin skrip memanggil fungsi "baru". Seperti sekarang, skrip akan mencoba menjalankan program yang disebut "baru" yang tidak ada. LOL. Terima kasih
linux
bash
shell
shell-script
penipu
sumber
sumber
new()
?Jawaban:
Anda perlu mendefinisikan fungsi Anda sebelum memanggilnya:
sumber
Dengan asumsi ini adalah bash, setiap baris dalam skrip Anda akan dibaca dari yang paling sedikit sampai yang paling besar. IE "Line 1, lalu line 2, kemudian line 3, dan seterusnya. Dengan mengingat hal ini, Anda dapat membuat banyak, banyak fungsi dalam sebuah skrip dan memanggil mereka masing-masing tepat setelah yang lain seperti:
Namun, untuk memanggil setiap fungsi, panggilan harus selalu setelah definisi seperti:
Ini akan membantu untuk lebih memanfaatkan fungsi dalam skrip Anda yang lebih kompleks. Semoga ini bisa membantu.
sumber