需要有关终端/bash 中的脚本选项的帮助

需要有关终端/bash 中的脚本选项的帮助

我对脚本编写还很陌生(自学),但并非一无所知。我正在尝试为程序版本集制作一个简单的安装程序脚本,但遇到了一些困难。这是代码的修改版本

echo "deb http://blah.blahblah.net/blah/blah/ubuntu precise main" | tee/etc/apt/sources.list.d/blahblah.list
echo "deb-src http://blah.blahblah.net/blah/blah/ubuntu precise main" | tee -a /etc/apt/sources.list.d/blahblah.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys blah000000
apt-get update

`
echo "please select the Version of blah you want ************  1)blah1    2)blah2 3)blah3 4)All (1,2,3) 5)I will do this manualy (in the software center)"

read n
case $n in
    1) apt-get install blah1;;
    2) apt-get install blah2;;
    3) apt-get install blah3;;
    4) apt-get install blah1 blah2 blah3;;
    5) echo "Thank you and have a nice day. :-)"   exit;;
    *) invalid option;;
esac

它将完成 apt 更新,但随后会显示此消息

blah 1-2-3-installer_beta.sh: 22: blah 1-2-3-installer_beta.sh: Syntax error: EOF in backquote substitution

有什么建议吗......(旁注:“blah”不重要,我已经检查过了)

我正在运行 Ubuntu 14.04.3 “Trusty” 和 Linux Mint 17.3 “cinnamon”

答案1

您的代码中有一个反引号 ( `),但结尾的反引号并未对其进行补充。不清楚您用反引号做什么。

反引号用于命令替换,也开始用于$()命令替换,而不是旧的和有问题的反引号。

为了解决当前的问题,只需注释掉`该行后的单反引号()apt-get update,即:

apt-get update

# `
echo "please select the Version of blah you want ************  1)blah1    2)blah2 3)blah3 4)All (1,2,3) 5)I will do this manualy (in the software center)"

相关内容