前提・実現したいこと
jenkinsを使って、ビルド~デプロイ自動化を行っています。
デプロイの処理でshellのexpectコマンドを使って「sudo su」した後にコマンドを実行したいのですが、
エラーメッセージがでてうまくいっておりません。
jenkinsでうまくいかないので、同等のシェルを作成して実行してもうまくいっておりません。
にっちもさっちもいかず困っております。。。
どなたか助けてください、、、
発生している問題・エラーメッセージ
※簡略化のため、echoコマンドにしてあります。
missing " while executing "send "echo hoge\n\” "
該当のソースコード
shell
1#!/bin/bash -xe 2############################################################################### 3# 1) jar を検証サーバにコピー 4# 2) 既存プロセスをkill 5# 3) プロセス起動 6############################################################################### 7# 1) jarをコピー 8cd folder1 9scp ./target/api-${API_VERSION}-SNAPSHOT.jar user1@xx.xx.xx.xx:/tmp 10target_path=/tmp/api-${API_VERSION}-SNAPSHOT.jar 11ssh -t -t user1@xx.xx.xx.xx "expect -c ' 12 spawn sudo su 13 expect \":\" 14 send \"abcdef\n\" 15 expect \"#\" 16 send \"echo hoge\n\” 17'"
試したこと
expect \"#\"
まではちゃんと動作していそうです。
上記の後に
interact
にしたらちゃんと対話モードになったため。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/06 12:12