數組復制 expect

變量????????????????????????????????????????????????????????????????? ? ? ? ? ? ? ? ? ? ?? /* 內存空間 存儲單個元素 */

數組                                      /* 連續的內存空間 存儲多個元素 */
                                          /* 多個變量的集合 */
數組名
         聲明數組                         /* declare -a Ary_Name */

顯示所有數組???????????????????????????????????????????????? /* declare -a */

索引
數值索引??????????????????????????????????????????????????????? /* 從 0 開始 */
稀疏格式

關聯索引
bash 4.0后支持????????????????????????? /* bash –version */

必須先聲明 后使用 ? ? ? ? ? ? ? ? ?? /* declare -A Ary_Name */

賦值
全部元素
Ary_Name=()??????????????????????????? /* 生成列表字符串的任意動作 */

Val_1 “Val_2” …??????????????? /* “” 作為整體 */
/* a “c d” e */

f{1..3}.{txt,log}

/root/bin/*.sh?????????????????? /*glob*/

“ $()
seq 1 # $#????????????????? /* # 間隔 */

eval echo {1..$#} ? ? ? /*掃描 先將后續變量替換*/

ls /home/wang/bin/*.sh

特定元素
Ary_Name=([0]=”Var1″ [3]=”Var3″…)

一個元素
Ary_Name[#]=”…”

交互式
read -a Ary_Name????????????????????? /* a表示數組 */
Var1 Var2 Var3… ? ? ? ? ? ? ? ? ? ? ? /* echo a b c | read -a s 不行 */

最后追加
Ary_Name[${#Ary_Name[*]}]=”…”

關聯數組
declare -A Ary_Nam

Ary_Nam=([Indx_Nam]=”Var1″ [Indx_Nam]=”Var1″…)

引用數組元素
${Ary_Name[Indx]}???????????????????????? /* echo ${Ary_Name[Indx]} */
${Ary_Name}=${Ary_Name[0]}

${Ary_Name[*]}?????????????????????????????? /* 所有元素 */
${Ary_Name[@]}

數組長度 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? /* 元素個數 */
${#Ary_Name[*]}
${#Ary_Name[@]}

刪除
unset Ary_Name[Indx] ? ? ? ? ? ? ? ? ? /* 元素 */
/* 產生稀疏格式 */

unset Ary_Name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 整個數組 */

expect

簡介
expect????????????????????????????????????????????????? /* Don Libes */
/* 基于Tcl開發 Tool Command Language */
/* 腳本中 解決 交互式問題 */

tcl語言 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 模式-動作 */

參數
-d??????????????????????????????????????????????????????????? 輸出調試信息

-c????????????????????????????????????????????????????????????? 命令行

語句
set Var [lindex $argv #]
set 變量賦值
[lindex $argv 0] 位置變量格式

spawn ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 啟動新進程
激活此命令的執行 捕獲他的輸出

expect?????????????????????????????????????????????????????? 從進程接收字符串

send????????????????????????????????????????????????????????? 向進程發送字符串

exp_continue???????????????????????????????????????? 匹配多個字符串
執行前一個動作后 加此命令

interact??????????????????????????????????????????????????? 允許用戶交互

expect eof??????????????????????????????????????????????? 自動退出

例子
命令行
單分支
expect -c ‘expect “\n” {send “pressed enter\n”}’
多分枝
expect -c ‘expect “hi” {send “you hi\n”} “xixi” {send “you xixi\n”}’

expect
>
單分支
expect “hi” {send “you hi\n”}

多分支
expect “hi” {send “you hi\n”} \
“xixi” {send “you xixi\n”} \
“hehe” {send “you hehe\n”}

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/102480

(1)
倪瀟灑倪瀟灑
上一篇 2018-07-08
下一篇 2018-07-09

相關推薦

  • 參加馬哥教育面授班

    很興奮,今天是開班的第6天了,課程的具體安排為,1、3、5上課,2、4、6實操課。課堂上目前是王老師授課,講的都是滿滿的干貨,很詳細。讓我再次確信參加這次培訓不會有錯。 面授班與在網絡學習,我覺得學習效果差別還是蠻大的。參加面授班能很好的約束我的行為,不會出現學著學著就打開游戲或看電影了,學習效率很高,哈哈。初次見到馬哥教育的各個老師發現都很平易近人,學習上…

    Linux筆記 2018-07-21
  • Linux中用戶、組和權限

    用戶user Linux用戶:Username/UID 管理員:root,0 普通用戶: 系統用戶:1-499 交互式登錄:登錄用戶500+,1000+9(CentOs7) 組group? Linux組:Groupname/GID 管理員組:root,0(私有組) 普通組:系統組:1-499,1-999;普通組:500+,1000+ Linux組的類別:1.…

    Linux筆記 2018-04-05
  • Linux用戶與組管理命令的易混淆點和重合點

    Linux用戶與組的管理命令,對于初學者來說很容易造成混淆,此外,這些命令之間有很多相重合的用法,即:擁有多種命令可實現相同的需求的情況。

    2018-04-03
  • linux與xshell入門

    難的不行,做標記

    2018-07-29
  • 特殊權限

    若是無緣再見,白堤柳簾垂淚好幾遍;若是有緣再見,斷橋殘雪沉默了語言。

    2018-04-15
  • 文件查找和壓縮

    locate查詢系統上預建的文件索引數據庫索引數據庫:/var/lib/mlocate/mlocate.db工作特點:查找速度快模糊查找非實時查找搜索的式文件的全路徑,不僅僅是文件名可能只搜索用戶具備讀取和執行權限的目錄參數:-i:不區分大小寫-n:只列舉前n行-r:使用正則表達式find:實時查找工具工作特點:查找速度慢,非常消耗資源精確查找實時查找可能只…

    2018-04-16
欧美性久久久久