语法错误:“do”意外(期待“}”)

时间:2016-03-31 03:47:00

标签: bash

我正在试图弄清楚如何做一个重复的问题以及我所拥有的是在功能括号中强加一些问题。

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

以下是样本

    #!/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!"
    }

1 个答案:

答案 0 :(得分:3)

如果您使用sh options.sh调用脚本,则会通过调用不支持/bin/sh的{​​{1}}来覆盖bash shebang。您可以使用以下命令调用脚本:

  • select
  • 或使其bash options.sh可执行,并使用chmod u+x options.sh
  • 调用它