语法错误:未终止的引用字符串 - 正在运行 .run 文件

语法错误:未终止的引用字符串 - 正在运行 .run 文件

我正在尝试运行一个.run文件,我以 SU 身份登录并运行以下命令:

sh xampp-linux-x64-1.8.3-1-installer.run

但我收到以下错误:

 Syntax error: Unterminated quoted string

造成这种情况的原因是什么?

答案1

原因可能是安装程序中未终止的引号字符串。(嗯,呵呵!)。

要么使用 -x 选项运行它以获取更多调试信息,要么在编辑器中打开安装程序并查找不匹配的引号对。

例子:

#!/usr/bin/env bash
#My demo installer!
#
echo "starting here!"
echo "and an error in this line
echo "We will never get here!"

"请注意第二个 echo 行中缺少结束引号 ( )。


编辑:

我刚刚从 sourceforge 下载了一个名为 的文件xampp-linux-x64-1.8.3-1-installer.run(我认为它与您使用的文件相同),当我在 vim 中打开它时,我注意到它以 开头^?ELF^。此文件似乎是 ELF 二进制文件。

使用文件命令可以确认这一点:
file: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, stripped

它不是一个 shell 脚本,执行它的正常方式是:

  1. xampp-linux-x64-1.8.3-1-installer.run(假设该目录位于您的搜索路径中),
  2. 或者在前面加上完整路径。例如,./xampp-linux-x64-1.8.3-1-installer.run如果您已经在文件所在的目录中。(这就是@erhun 的答案有效的原因)。

答案2

它将以这种方式起作用。

chmod +x xampp-linux-x64-1.8.3-1-installer.run
./xampp-linux-x64-1.8.3-1-installer.run

答案3

我尝试安装 xampp-linux-x64-1.8.3-2-installer.run,但出现了同样的消息。这些答案都对我不起作用,因为我认为这是 x64 位版本,而我尝试将其安装在 32 位 Linux Mint 上。

相反,我下载了 xampp-linux-1.8.3-2-installer.run(注意文件名中没有 x64),这个可以正常工作。我执行了 chmod ,然后 sudo ./xampp-linux-1.8.3-2-installer.run ,几秒钟后,gui 安装程序就运行了。

PS. 您需要前往 sourceforge,因为 apachefriends.org 网站将为您提供 x64 版本作为默认下载。

答案4

64 位操作系统似乎没有问题。

我遇到了同样的错误并且“uname -m”可以确认它(显示 x86_64),尽管我已经确定专门购买了 64 位机器。

看起来在下载时(wget 了好几个小时,移动互联网非常慢),‘xampp-linux-x64-1.8.3-4-installer.run’被损坏了!

相关内容