シェルスクリプトを使用して複数行のmysqlクエリを実行する方法は?

ツール

シェルスクリプトから複数のMySQLクエリを実行したい。

私は次のコードを使用しています:

mysql -u <redacted> -p<redacted> servermail << EOF

CREATE TABLE `virtual_domains` (
`id`  INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `virtual_users` (
`id` INT NOT NULL AUTO_INCREMENT,
`domain_id` INT NOT NULL,
`password` VARCHAR(106) NOT NULL,
`email` VARCHAR(120) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

CREATE TABLE `virtual_aliases` (
`id` INT NOT NULL AUTO_INCREMENT,
`domain_id` INT NOT NULL,
`source` varchar(100) NOT NULL,
`destination` varchar(100) NOT NULL,
PRIMARY KEY (`id`),
FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

EOF

しかし、私はこれらのエラーメッセージを受け取り続けます:

virtual_domains: command not found
No command 'name' found, did you mean:
 Command 'named' from package 'bind9' (main)
 Command 'namei' from package 'util-linux' (main)
 Command 'lame' from package 'lame' (universe)
 Command 'uname' from package 'coreutils' (main)
 Command 'nama' from package 'nama' (universe)
 Command 'mame' from package 'mame' (multiverse)
 Command 'nam' from package 'nam' (universe)
name: command not found
virtual_users: command not found
domain_id: command not found
password: command not found
No command 'email' found, did you mean:
 Command 'mail' from package 'mailutils' (universe)
 Command 'dmail' from package 'uw-mailutils' (universe)
 Command 'kmail' from package 'kmail' (main)
 Command 'cmail' from package 'xboard' (universe)
 Command 'tmail' from package 'uw-mailutils' (universe)
 Command 'rmail' from package 'rmail' (universe)
 Command 'rmail' from package 'exim4-daemon-heavy' (main)
 Command 'rmail' from package 'courier-mta' (universe)
 Command 'rmail' from package 'masqmail' (universe)
 Command 'rmail' from package 'postfix' (main)
 Command 'rmail' from package 'exim4-daemon-light' (main)
 Command 'wmail' from package 'wmail' (universe)
 Command 'emil' from package 'emil' (universe)
email: command not found
No command 'email' found, did you mean:
 Command 'mail' from package 'mailutils' (universe)
 Command 'dmail' from package 'uw-mailutils' (universe)
 Command 'kmail' from package 'kmail' (main)
 Command 'cmail' from package 'xboard' (universe)
 Command 'tmail' from package 'uw-mailutils' (universe)
 Command 'rmail' from package 'rmail' (universe)
 Command 'rmail' from package 'exim4-daemon-heavy' (main)
 Command 'rmail' from package 'courier-mta' (universe)
 Command 'rmail' from package 'masqmail' (universe)
 Command 'rmail' from package 'postfix' (main)
 Command 'rmail' from package 'exim4-daemon-light' (main)
 Command 'wmail' from package 'wmail' (universe)
 Command 'emil' from package 'emil' (universe)
email: command not found
No command 'email' found, did you mean:
 Command 'mail' from package 'mailutils' (universe)
 Command 'dmail' from package 'uw-mailutils' (universe)
 Command 'kmail' from package 'kmail' (main)
 Command 'cmail' from package 'xboard' (universe)
 Command 'tmail' from package 'uw-mailutils' (universe)
 Command 'rmail' from package 'rmail' (universe)
 Command 'rmail' from package 'exim4-daemon-heavy' (main)
 Command 'rmail' from package 'courier-mta' (universe)
 Command 'rmail' from package 'masqmail' (universe)
 Command 'rmail' from package 'postfix' (main)
 Command 'rmail' from package 'exim4-daemon-light' (main)
 Command 'wmail' from package 'wmail' (universe)
 Command 'emil' from package 'emil' (universe)
email: command not found
virtual_aliases: command not found
domain_id: command not found
-bash: source: filename argument required
source: usage: source filename [arguments]
destination: command not found
ERROR 1064 (42000) at line 2: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(
uid=0(root) gid=0(root) groups=0(root)  INT NOT NULL AUTO_INCREMENT,
 VARCHAR(' at line 1

コマンドを1つずつ実行すると、コマンドmysqlが機能します。

次に何を試してみるべきですか?

パブーク

ヒアドキュメントでは、終了区切り文字が引用されていない限り、変数の展開とコマンド置換が実行されます。あなたの場合、のようなバックティック間の文字列はvirtual_domains、シェルによってコマンドとして実行されます。

取得したい結果を得るには、EOF以下のように一重引用符または二重引用符の間に終了区切り文字を引用する必要があります。これにより、拡張と置換が防止されます。

mysql -u <redacted> -p<redacted> servermail << "EOF"

CREATE TABLE `virtual_domains` (
`id`  INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

参照してください。Unixシェル-ここでは、文書バッシュの参照を-ここに文書を

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

シェルスクリプトを使用して複数の.javaファイルを実行する方法

別のシェルスクリプトを使用して複数のシェルスクリプトを1つずつ実行する方法

別のシェルスクリプトを使用して、複数のシェルスクリプトを1つずつ実行する方法

Ansibleで複数行のシェルスクリプトを実行する方法

bashシェルからpsqlコマンドを使用して複数のクエリを実行する方法は?

シェルスクリプトを使用して複数のMySQLコマンドを実行するためのより良い方法

`find`と` xargs`を使用してシェルスクリプトで複数のコマンドを実行する

codebuildから複数のシェルスクリプトを並行してデプロイする方法は?

シェルを使用してPHPスクリプトを実行する方法

dockerfilesCMDを使用してシェルスクリプトを実行する方法

Gradleを使用してシェルスクリプトを実行する方法

複数のファイルに対してスペルチェックを実行し、シェルスクリプトに不正な単語を表示する方法

bash変数を使用してシェルスクリプトからMYSQLスクリプトを実行するにはどうすればよいですか?

gnomeシェルを起動し、スクリプトから複数のコマンドを実行する方法

シェルでPythonスクリプトをsuして実行する方法は?

入力として複数のファイルでシェルスクリプトを実行する

argsを使用してPythonスクリプトで複数のスクリプトを実行する方法

scottyを使用してPOSTリクエストからシェルスクリプトを実行する

Javaでシェルスクリプトを実行してエラーを取得する方法は?

nginx-すべてのリクエストでシェルスクリプトを実行する方法

シェルスクリプトで複数行の環境変数をエクスポートする方法

Apacheのエアフローを介してシェルスクリプトを実行する方法

複数のコールバックを使用して複数のphpスクリプトを実行する

複数のシェルでスクリプトを実行しますか?

mongodbで複数の式を使用してクエリを実行する方法は?

CursorLoaderを使用して複数のシリアルDBクエリを実行する方法

Javaから空の引数を使用してシェルスクリプトを実行する

シェルスクリプトを使用してgnuplotでコマンドを実行する方法は?

シェルスクリプトを使用してjarを実行し、その完了を待ってから他のタスクを実行する方法

TOP 一覧

  1. 1

    PictureBoxで画像のブレンドを無効にする

  2. 2

    HTTPヘッダー 'SOAPAction'の値はサーバーによって認識されませんでした

  3. 3

    STSでループプロセス「クラスパス通知の送信」のループを停止する方法

  4. 4

    レスポンシブウェブサイトの一番下にスティッキーなナビゲーションバーを作成するのに問題がある

  5. 5

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  6. 6

    Ansibleで複数行のシェルスクリプトを実行する方法

  7. 7

    Python / SciPyのピーク検出アルゴリズム

  8. 8

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  9. 9

    ZScalerと証明書の問題により、Dockerを使用できません

  10. 10

    Rパッケージ「AppliedPredictiveModeling」のインストール中にエラーが発生しました

  11. 11

    テキストフィールドの値に基づいて UIslider を移動します

  12. 12

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  13. 13

    「埋め込みブラウザのOAuthログイン」を有効にしてコールバックURLを指定した後でも、Facebookのコールバックエラーが発生する

  14. 14

    tf.nn_conv2dとtf.nn.depthwise_conv2dの違い

  15. 15

    CSSはアニメーションで変換および回転します

  16. 16

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  17. 17

    Chromeウェブアプリのウェブビューの高さの問題

  18. 18

    Postmanを使用してファイル付きの(ネストされた)jsonオブジェクトを送信する

  19. 19

    amCharts 4で積み上げ棒グラフの輪郭を描く方法は?

  20. 20

    Officeアドインを使用してOutlookの連絡先のリストにプログラムでアクセスすることは可能ですか?

  21. 21

    Reactでclsxを使用する方法

ホットタグ

アーカイブ