在expect裡面怎樣send一串含有特殊字元的字串

時間 2021-08-11 17:26:23

1樓:萌城回

expect其實就是產生兩個程序,一個模擬使用者(expect程序本身),一個執行命令(spawn語句產生的程序)。send就是模擬使用者在console下輸入字串,我們輸入命令都要回車的,相應的send的字串要用\r結束。指令碼里的expect語句相當於使用者等待命令輸出以確定接下來輸入什麼命令。

     特殊字元轉義不好解釋,看exploring expect吧。好像有一個笨辦法是,send每個特殊字元前面都加上\就可以了,expect每個特殊字元前面加上\\\。      send "\$ax\[sdf\]\@\#\r"   expect "\\\r\\\n

2樓:匿名使用者

苦逼你好,這個帖子放到這沒人回答,還好我自己找到了答案,我把答案寫在這裡等待下一個苦逼降臨,希望你們能少走一點彎路。

1. expect是基於tcl演變而來的,所以很多語法和tcl類似,基本的語法如下所示:

1.1 首行加上/usr/bin/expect

1.2 spawn: 後面加上需要執行的shell命令,比如說spawn sudo touch testfile

1.3 expect: 只有spawn執行的命令結果才會被expect捕捉到,因為spawn會啟動一個程序,只有這個程序的相關資訊才會**捉到,主要包括:

標準輸入的提示資訊,eof和timeout。

1.4 send和send_user:send會將expect指令碼中需要的資訊傳送給spawn啟動的那個程序,而send_user只是回顯使用者發出的資訊,類似於shell中的echo而已。

2. 一個小例子,用於linux下賬戶的建立:

filename: account.sh,可以使用./account.sh newaccout來執行;

1 #!/usr/bin/expect

23 set passwd "mypasswd"【這個是你設定的密碼】

4 set timeout 60

56 if

1011 set user [lindex $argv [expr $argc-1]]

1213 spawn sudo useradd -s /bin/bash -g mygroup -m $user

1415 expect

21 eof

22 25 }

2627 spawn sudo passwd $user

28 expect

33 eof

34 37 }

3839 spawn sudo smbpasswd -a $user

40 expect

45 eof

46 49 }

計算機程式語言的程式設計軟體需要什麼語言?

程式語言一共有多少種?

最簡單的程式語言是什麼

3樓:源白鶴

其實最簡單的程式語言是scratch,c和vb一點也不簡單

開源的程式語言有哪些?

4樓:草原上之狼

開源指的是源**是開放的,可以獲取的,至於程式語言,主要有指令碼和編譯兩類,如果要深究,看編譯器或直譯器是不是可以免費獲取,這些免費神器,通常也都有源**.說程式語言開源,比較不妥,只要軟體開源,就可以說開源,至於語言,最終也只是編譯器或直譯器,無所謂開不開源.

數控程式設計用的是什麼程式語言

5樓:非常可愛

使用g**。

g**是最為廣泛使用的數控程式語言,有多個版本,主要在計算機輔助製造中用於控制自動機床。g**有時候也稱為g程式語言。

數控機床通常使用g**來描述機床的加工資訊,如 走刀軌跡、座標的選擇、冷卻液的開啟等,將g**解釋為數控系統能夠識別的資料塊是g**直譯器的主要功能。

g**直譯器的開放性也是設計和實現中必須要考慮的問題。在g**直譯器中,對g **進行關鍵字分解是骨架,對**進行分組則是進行語法檢查的基礎

擴充套件資料

g**的格式:

1、快速定位

格式:g00 x(u)__z(w)__

說明:(1)該指令使刀具按照點位控制方式快速移動到指定位置。移動過程中不得對工件進行加工

(2)所有程式設計軸同時以引數所定義的速度移動,當某軸走完程式設計值便停止,而其他軸繼續運動

(3)不運動的座標無須程式設計。

(4)g00可以寫成g0

2、g01—直線插補

格式:g01 x(u)__z(w)__f__(mm/min)

說明:(1)該指令使刀具按照直線插補方式移動到指定位置。移動速度是由f指令進給速度。所有的座標都可以聯動執行。

(2)g01也可以寫成g1。

6樓:糖糖寳寳

數控程式設計,要看實現到哪個層次:

1、如果要基於數控系統已經提供的**,使用 g **;

2、如果要自己實現數控系統,語言沒有啥要求;

3、實時性好的,能實用的,用 c 語言或彙編。

7樓:匿名使用者

數控程式設計用的是國際通用的g指令。你說的可能是開發他們的源程式吧

什麼是程式語言框架

8樓:影子說話

領學網為你解答:

所謂框架就是寫好的一大堆類,可以這麼理解。 除了一大堆類以外還可能有一些規則, 比如命名,路徑等。在遵循這個規則的情況下呼叫框架類庫提供的方法。

另外框架跟開源不開源是沒有關係的, 開源只是說你可以得到這個框架的源**,而不開源的只是看不到源**而已。

比如.net本身不是開源的,但有很多框架是開源的,比如最著名的servicestack

開源跟免費又是不同的概念,開源軟體有很多不同種類的license,有些是可以隨意修改使用的,有些是可以使用在非商業專案中的,有些則是需要付費的

9樓:匿名使用者

同一種語言,不需要轉.放心大膽的忽略就可以了.忽略不了的會跳到你的眼前,到時候就知道區別了.這是個根本不需要思考的問題

少兒程式語言怎麼選擇?程式語言有哪些?

指令碼語言和程式語言的區別是什麼?

10樓:學雅思

1、指令碼語言:又被稱為擴建的語言,或者動態語言,是一種程式語言,用來控制軟體應用程式。

2、程式語言:一種計算機語言讓程式設計師能夠準確地定義計算機所需要使用的資料,並精確地定義在不同情況下所應當採取的行動。

二、特點不同

1、指令碼語言:指令碼通常以文字(如ascii)儲存,只在被呼叫時進行解釋或編譯。

2、程式語言:程式在執行時可以改變其結構,開發快速,接近自然語言,易於理解,更方便的**管理。

三、優缺點不同

1、指令碼語言:指令碼語言極大地簡化了「開發、部署、測試和除錯」的週期過程。大多數指令碼語言都能夠隨時部署,而不需要耗時的編譯/打包過程。

2、程式語言:任何程式語言的使用都需要確保編寫的程式能夠根據實際需要及時調整。因此,快速原型開發環境非常重要,在這種環境下,動態語言和相關庫的結合可以大大增強其優勢。

ai裡面怎樣在新增畫板,AI裡面怎樣在新增畫板

it膠囊 adobe國際認證 illustrator建立畫板 請執行下列任一操作 如果希望圖稿包含一個出血框,請確保在畫板邊界之外留有足夠大小的圖稿以容納出血框。要建立自定畫板,請選擇 畫板 工具,然後在文件中拖動以定義形狀 大小和位置。要使用預設畫板,請雙擊 畫板 工具,在畫板選項對話方塊中選擇一...

CAD裡面在圓圈裡面打字怎樣打,CAD中如何輸入帶圓圈的數字??

enjoy烽火連城 用單行文字或是多行文字 我聽得不是很明白,你說的是t這個指令嗎?還是塊定義屬性。這兩者都可以完成你說的那個。你試一下看一下,cad中如何輸入帶圓圈的數字? 用燕秀工具箱或者用天正建築,裡面有自帶的功能! 信 你應該說的是定位軸線吧,定位軸線的圓圈是要畫的,裡面的字母要自己輸入,輸...

怎樣防止鞋墊打滑,怎樣防止襪子在鞋裡面打滑?

1 購買新的厚的鞋墊。雖然現在很多大品牌都有自己專門的鞋墊,但是也有可能這種鞋墊並不適合。尤其是購買的鞋子如果比較大的話,更容易導致鞋墊滑落。在這種情況下,則最好重新購買一種透氣較厚的鞋墊。這樣就不容易滑落了。2 可以通過增加鞋墊的數量防止鞋墊下滑。鞋墊要滑落,還有可能是鞋子太大造成的。而增加鞋墊的...