數組復制 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 23:07
下一篇 2018-07-09 00:35

相關推薦

  • 第一周作業之:計算機的組成及其功能 | Linux發行版 | Linux哲學思想

    計算機組成 Linux發行版 Linux哲學思想

    2018-04-14
  • linux練氣篇二

    1.sort和cut的運用
    2.輸出和追加輸出
    3.用戶及組的增,刪,改權限

    2018-05-29
  • 邏輯卷

    邏輯卷如果分區分區類型id8epvs查看現有的物理卷 或者pvdisplay(詳細)pvcreate /dev/sdd1 /dev/sdb 把硬盤和分區編程物理卷vgs查看現有的卷組 或者vgdisplay (詳細)vgcreate -s 16M vg0 /dev/sd{d1,b} 創建vg0卷組把sdd1和sdb加入卷組指定PE為16Mlvcreate -…

    Linux筆記 2018-04-30
  • bash的工作特性

    bash特性:命令執行狀態返回值 bash命令的執行狀態分為兩種:1. 成功,狀態返回值為0。2. 失敗,狀態返回值為1-255。bash使用特殊變量$?保存最近一條命令的執行狀態結果: [Azuth@azuth ~]$ id root &>/dev/null[Azuth@azuth ~]$ echo $?0[Azuth@azuth ~]$ i…

    Linux筆記 2018-05-20
  • 馬哥網絡班第31期——第二周作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示
    2、bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示
    3、請使用命令行展開功能來完成以下練習
    (1)創建/tmp目錄下的:a_c,a_d,b_c,b_d
    (2)創建/tmp/mylinux目錄下的:
    4、文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息
    5、如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?
    6、顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其他字符)的文件或目錄
    7、顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄
    8、顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其他任意長度任意字符的文件或目錄
    9、在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22
    10、復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中
    11、復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中
    12、復制/etc目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中

    Linux筆記 2018-07-18
欧美性久久久久