1. 程式人生 > >shell指令碼巢狀執行expect命令

shell指令碼巢狀執行expect命令

好吧,發現漏了一篇在草稿箱 )^-^(

為避免反覆呼叫,可以巢狀執行

相關命令:
spawn:啟動一個程式或程序
send:給程序或程式返回結果
expect:接受程式或程序輸出
interact:使使用者處於程序或程式的互動狀態,ssh登入後不自動登出

#!/bin/bash

sql_bck=/home/sql_bck
if [ ! -d $sql_bck ]
then
    mkdir -p $sql_bck
fi

cptime=`date -d "-2 days" +%F`

/usr/bin/expect  << EOF
set timeout 10
spawn scp
[email protected]
*.*.*.*:/mysql_weekly_bck/${cptime}_weekly_sql.tar.gz $sql_bck expect "*passphrase*" send "******\r" expect eof EOF

相關推薦

shell指令碼執行expect命令

好吧,發現漏了一篇在草稿箱 )^-^( 為避免反覆呼叫,可以巢狀執行 相關命令: spawn:啟動一個程式或程序 send:給程序或程式返回結果 expect:接受程式或程序輸出 inter

shell 指令碼中獲取執行系統命令的輸出結果

這個主要介紹的方法是獲取命令的輸出內容,而不是命令執行成功與否的返回值。通常情況下,在shell指令碼中需要獲取命令的輸出內容,然後根據輸出內容判斷下一步的執行操作。比較常用的一種方式就是, 匹配命令輸出的內容中是否存在某些關鍵字,選擇執行的不同動作。比較常用的一種方式就是採

shell指令碼mac平臺執行sed命令報錯

mac執行sed命令報錯 $ touch testing.txt $ echo "this is mkyong.com" > testing.txt $ cat testing.txt this

jenkin執行shell指令碼,找不到命令

jenkins預設是用非登入模式來執行shell命令,所有沒有載入環境變數配置檔案。 source /etc/profile 可以如下修改: 新增source /etc/profile

十六週二次課 2018.02.05 shell指令碼介紹、shell指令碼結構和執行、date命令用法、shell指令碼中的變數

20.1 shell指令碼介紹微信公眾號部落格,20.2 shell指令碼結構和執行建立目錄,然後我們進去在裡面寫指令碼第一行是他表示接下來的命令是通過這一個直譯器操作解析的的,通常都是/bin/bash(如果你是在本機上執行那麼不用寫也行,因為它知道接下來的命令能夠在這臺機

20.1 shell指令碼介紹 20.2 shell指令碼結構和執行 20.3 date命令用法 20.4 shell指令碼中的變數

20.1 shell指令碼介紹20.2 shell指令碼結構和執行20.3 date命令用法20.4 shell指令碼中的變數shell指令碼介紹shell是一種指令碼語言可以使用邏輯判斷、迴圈等語法可以自定義函式shell是系統命令的集合shell指令碼可以實現自動化運維,

shell 指令碼 指定使用者執行命令

#! /bin/bash rurl=/data/crm/tomcat/webapps/ROOT/upload/ su - gpguser -c "gpg --recipient XXX --output $rurl$1 --encrypt $rurl$2" if [ -f

linux 通過shell指令碼在本地執行遠端機器命令

在本機上想通過shell指令碼執行遠端機器上的命令,其實很簡單,只要在ssh 的後面加上<< remotessh      【命令】 remotessh 就可以了,下面貼出簡單的例子 #!/bin/bash ssh [email protected]

shell指令碼中順序執行另幾條shell命令

命令執行操作符 多條命令可以在一行中出現。它們可以從左到右順序執行。此時,各條命令之間應以分號( ;)隔開. 如:    pwd ; who | wc -l ; cd /usr/bin 在相鄰命令間可存在邏輯關係,即邏輯“與”和邏輯“或”。 邏輯與操作符“&&

什麼是shellshell指令碼結構和執行、date命令shell指令碼中變數

開發十年,就只剩下這套架構體系了! >>>   

redux-saga generator執行的阻塞與非阻塞

1.generator呼叫generator 在one中yield另一個generatoranother function*another(params){ // ... } function*one(params,{ call, put }){ // ...

Shell指令碼中併發執行緒以及併發數的控制

http://blog.chinaunix.net/uid-8478094-id-3995108.html Shell指令碼中併發執行緒以及併發數的控制 主要記錄一下Shell指令碼中的命令的併發和序列執行。 預設的情況下,Shell指令碼中的命令是序列執行的,必須等到前一條命令

Linux Shell基礎 Shell指令碼格式及執行方式

概述 在 Linux 的指令碼中,只要是基於 Bash語法寫的Shell指令碼第一行必須是"#!/bin/bash",用來宣告此檔案是一個指令碼。 執行方式 Shell 指令碼的執行主要有以下兩種方法: 賦予執行許可權,直接執行 這種方法是最常用的 Shell 指令碼執行方法,也最為直接簡單。就是賦

從頭開始寫專案Makefile(五):執行(轉)

【版權宣告:轉載請保留出處:blog.csdn.net/gentleliu。Mail:shallnew at 163 dot com】 在大一些的專案裡面,所有原始碼不會只放在同一個目錄,一般各個功能模組的原始碼都是分開的,各自放在各自目錄下,並且標頭檔案

awk執行的三種方式,以及awk以shell指令碼檔案形式執行的注意事項

awk執行有三種形式: 1.直接以命令列來執行,如圖: 2.以awk指令碼檔案來執行 需要加-f選項。 3.以shell指令碼的形式來執行         以shell指令碼形式執行時,行首的#!/bin/bash 需變換為#!/bin/awk(awk所在的路徑

寫了個執行make

跟我一起寫 Makefile ------------------------------陳皓 #VPATH = BaseRender:shaderUtil:testApp:glad:. PROJECT_PATH = $(shell pwd) OBJSD

shell 指令碼: 多執行緒判斷多個程序是否存在,不存在則重啟

shell 預熱 shell 中變數用 $ 區別 在shell指令碼中變數賦值等號前後不能有空格,有空格會被認為是命令 str='測試' echo $str arr=('test1' 'test2' 'test3') # 陣列, 每個元素間以空格隔開 echo

執行MAKE $(MAKE) -C subdir

subsystem:             cd subdir && $(MAKE) 其等價於:     subs

Bash Shell的While帶來的問題

今天遇到了一個問題,當使用了巢狀的while之後,發現變數的值不會變更,例如下列程式碼while 1; do a = 1 cat file | while line || [ -n "

shell通過迴圈實現日期遞增輸出

for i in 01 02 03 04 05 06 07 08 09 10 11 12; do for j in 0 1 2 3 4 5 6; do DATE=$(date +"%Y%m%d" -d "2016${i}28 +${j}day"); echo $