2016-03-31 29 views
1

Yinelenen bir soruyu nasıl yapacağımı anlamaya çalışıyorum ve sahip olduğum işlevler, parantez içinde bulunduğuna inanıyorum.Sözdizimi hatası: "do" beklenmedik (bekliyor "}")

options.sh: 8: options.sh: Syntax error: "do" unexpected (expecting "}") 

İşte

#!/bin/bash 
    # v0.1 b1 3/30/2016 

    # REPEATING FUNCTIONS 

    ramdisk_memory() { 
     echo -e "\nRAMDISK SETTINGS\n" 
     echo -e "Enter the size of the RAMDISK in megabytes:" 
     read ramsize 
     echo -e "You selected a size of ${ramsize} megabytes. Is this correct?" 
     select yn in "Yes" "No"; do 
      case $yn in 
       Yes) setup_ramdisk ramsize; break;; 
       No) ramdisk_memory; break;; 
      esac 
     done 
    } 

    setup_ramdisk() { 
     echo "You did it!" 
    } 

cevap

2

Eğer sh options.sh ile komut ararsanız, bash shebang select desteklemediği /bin/sh çağrısı ile overriden edilecektir örnektir. Sen ile komut arayabilir ya: Benim tasarladığım sonra

  • bash options.sh
  • veya chmod u+x options.sh ile çalıştırılabilir hale ve ./options.sh
+0

Oh ile çağırmak, ben yanlışlıkla başka sorunla sadece son zamanlarda öğrendim diğer yöntem. Teşekkür ederim! – WAS

İlgili konular