web-dev-qa-db-ja.com

構文エラー:引用符で囲まれた文字列が終了していません-.runファイルを実行しています

.runファイルを実行しようとしています。SUとしてログインし、次のコマンドを実行します。

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

しかし、次のエラーが発生します。

 Syntax error: Unterminated quoted string

これの原因は何ですか?

2
Colin747

原因は、インストーラー内の終了していない引用符で囲まれた文字列である可能性があります。 (まあまあ!)。

-xオプションを指定して実行し、より多くのデバッグ情報を取得するか、エディターでインストーラーを開いて、一致しない引用符のペアを探します。

例:

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

2番目のエコー行に閉じ引用符(_"_)がないことに注意してください。


編集:

Sourceforgeから_xampp-linux-x64-1.8.3-1-installer.run_というファイルをダウンロードしました(これは、使用しているものと同じファイルだと思います)。vimで開いたときに、_^?ELF^_で始まることに気付きました。このファイルはELFバイナリのようです。

その上でfileコマンドを使用すると、これを確認できます。
file: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, stripped

これはシェルスクリプトではなく、通常の実行方法は次のいずれかです。

  1. _xampp-linux-x64-1.8.3-1-installer.run_(ディレクトリが検索パスにあると仮定)、
  2. または、フルパスを前に付けます。例えば。 _./xampp-linux-x64-1.8.3-1-installer.run_ファイルと同じディレクトリに既にいる場合。 (これが@erhunの答えが機能した理由です)。
4
Hennes

このように動作します。

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

64ビットOSでは問題ないようです。

同じエラーが発生し、「uname -m」で確認できます(x86_64が表示されます)が、64ビットマシンを購入することはすでに確実でした。

ダウンロード中に(何時間もwget、非常に遅いモバイルインターネット)、「xampp-linux-x64-1.8.3-4-installer.run」が破損したようです!

0
Anshul

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。 apachefriends.org Webサイトではデフォルトのダウンロードとしてx64バージョンが提供されるため、sourceforgeにアクセスする必要があります。

0
mareq133