1. 程式人生 > >expect 執行遠端指令碼接收列印資訊然後退出,exp 執行完後退出

expect 執行遠端指令碼接收列印資訊然後退出,exp 執行完後退出

執行遠端伺服器的指令碼,並能夠列印資訊,然後列印完自己退出。

1 、 首先來個shell    名稱:start.sh

  #!/bin/bash    #宣告bash直譯器

  result=`./upload.exp $path [/bash]`        #執行expect指令碼,然後接受返回的引數

  echo "${result}"    #列印upload.exp執行後返回結果

  if [[ ${result} =~ "ERROR" ]];then                   #如果報錯,異常退出

    echo "[ERROR] Upload failed TestFight failed, please check"
    exit 1
  fi  

2 、 在寫個upload.exp 指令碼

    #!/usr/bin/expect -f                      #宣告是expect 直譯器

    spawn ssh  [email protected]        #遠端連線的伺服器name 和 ip

    expect { 
    "yes/no" {send "yes\r";exp_continue}    #返回結果如果包含yes/no 自動填寫yes
    "Password:" {send "123456\r"}          # 自動填寫密碼
    }
    expect "#"                  #返回任意字元
    send "sh ~/yuneecapp-ios/upload.sh\r"   #執行遠端指令碼

    expect "#"                #接受任意字元
    send "exit\r"           #傳送退出,他自己回執行完畢後退出

    interact                  #宣告為互動模式

最終結果是: 登陸遠端伺服器後執行指令碼,列印指令碼資訊,列印完畢後,自動退出遠端伺服器。然後把列印結果傳入start.sh指令碼中的result 變數。

相關推薦

expect 執行遠端指令碼接收列印資訊然後退出exp 執行退出

執行遠端伺服器的指令碼,並能夠列印資訊,然後列印完自己退出。1 、 首先來個shell    名稱:start.sh  #!/bin/bash    #宣告bash直譯器  result=`./upload.exp $path [/bash]`        #執行expec

sshpass執行遠端指令碼

 # for a in {6..8}; do  sshpass -p root ssh -o StrictHostKeyChecking=no [email protected]$a  "which jps" ; done which: no jps in (/u

Android之在linux終端執行shell指令碼直接列印當前執行app的日誌

1、問題我們一般很多時候會需要在ubuntu終端上列印當前執行app的日誌,我們一般常見的做法是1)、獲取包名      開啟當前執行的app,然後輸入如下命令,然後在第一行TASK後面的就可以看到包名adb shell dumpsys activity top2)、我們的終

網易洞見丨洞見APP——Unity列印資訊、點選監聽事件、退出應用

洞見APP——Unity列印資訊 log("lua call 6666") Insight.Debug.Log("Start end") 點選監聽事件、退出應用 require "Commo

列印數字1-20一個執行列印奇數一個執行列印偶數

main.class public class Solution1006 { public static void main(String[] args) { MyObje

執行緒程式設計(二)——面試題每個執行緒只打印一種字元多個執行緒協同順序列印n次字串(求大神的其他實現方案)

(這個是歡聚時刻(YY)的筆試題,在筆試的時候沒有寫出來,後來自己寫了出來,希望大神能給出更優秀的解決方案……ps:現在面試官總有面試時問筆試程式設計題思路的習慣,呵呵) 題目簡述: 輸入一個字串以

JAVA web呼叫執行python指令碼程式的四種方式迴避java.lang.OutOfMemoryError:PermGen space記憶體溢位問題

我在網上搜到的JAVA呼叫python程式的三種方式: 方式一:呼叫python函式。可以傳入引數,獲取返回值。  public static void PythonFunctionTest(){         

寫一個執行緒每隔10秒輸出一次“HelloWorld”輸出10次退出

public class HelloWorld { public static void main(String[] args) { //建立執行緒要執行的任務 Runnable r1 = new MyRunnable(); //建立執行緒 Thread

java中多執行緒讀取同一個檔案的不同位置執行緒讀取檔案

今天遇到一個問題,需要多個執行緒讀取同一個檔案的不同位置,提高效率,寫程式碼驗證了一下,把結果記錄下來。 首先我們寫個檔案,然後多執行緒讀取,以下是我實驗的程式碼: package com.alibaba.middleware.race; im

執行緒情況下執行緒先退出執行緒會被強制退出

1、程序中執行緒之間的關係 執行緒不像程序,一個程序中的執行緒之間是沒有父子之分的,都是平級關係。即執行緒都是一樣的, 退出了一個不會影響另外一個。 但是所謂的"主執行緒"main,其入口程式碼是類似這樣的方式呼叫main的:exit(main(...))。 main執行完

Java 連線遠端Linux 伺服器執行 shell 指令碼檢視 CPU、記憶體、硬碟資訊

/* * Written by wei.Li and released to the public domain * Welcome to correct discussion as explained at * * ------------------------------------------

列印資訊輸出到lcd、自動登入串列埠 並自動執行程式

一、列印資訊輸出到lcd   1、傳統方法 在/etc/inittab檔案里加入下面一行 tty1::respawn:/sbin/getty 38400 tty1   2、systemd方法 a、進入lib/systemd/system b、拷貝[email protect

從客戶端的鍵盤錄入字元如aaa. 伺服器端接收aaa並在控制檯上列印aaa.然後將其轉換為大寫AAA返回到客戶端 由客戶端列印到客戶端控制檯上

伺服器端: import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net

SSH遠端登入執行命令指令碼

一、簡述 運維工作中遠端登入執行命令的指令碼很常用,下面分享一下我常用的指令碼 二、指令碼內容 #!/bin/bash SCRIPT_NAME=`basename $0` CURRENT_DIR=$(

linux下python程式後臺執行並將列印資訊儲存檔案

在跑比較時間比較長的程式,或者是列印資訊比較多的程式時,一般都會後臺執行程式,然後把列印資訊儲存在檔案中,等程式執行結束後再檢查輸出日誌。完成該功能可以用如下命令: nuhup python -u test.py > test.log 2>&1 &

shell遠端執行 遠端執行指令碼

對於簡單的命令: 如果是簡單執行幾個命令,則 ssh [email protected] "cd /home ; ls" 指令碼如下 #!/bin/bash for node in `cat nodelist` do echo "-------

Linux下使用SSH非互動式遠端執行命令指令碼

原創文章,轉載請註明— 作者: 黃文海 出處: http://viscent.iteye.com/http://blog.viscenthuang.info     非互動式在遠端主機上執行命令或者指令碼可以幫助我們快速完成一些任務。比如,在叢集環境中,同時在各個結點上的日

利用 expect 免密輸入遠端登入到伺服器,並且執行命令,執行退出mmmi

expect 是什麼?         我們通過Shell可以實現簡單的控制流功能,如:迴圈、判斷等。但是對於需要互動的場合則必須通過人工來干預,有時候我們可能會需要實現和互動程式如telnet伺服器等進行互動的功能。而expect就使用來實現這種功能的工具。類似wind

jenkins構建並遠端釋出執行shell指令碼

由於jenkins遠端釋出war檔案到不同環境下的tomcat下時,會先刪除同名檔案後再進行遠端拷貝,此時保留在本地的配置檔案需收到copy。 為實現自動化釋出,特在釋出後執行shell指令碼,遠端c

為golang程式使用pprof遠端檢視httpserver執行堆疊,cpu耗時等資訊

pprof是個神馬玩意兒? pprof - manual page for pprof (part of gperftools) 是gperftools工具的一部分 These tools are for use by developers so that they ca