shell指令碼總結

2021-08-10 21:19:22 字數 1016 閱讀 8252

最近在專案中用到shell指令碼來執行命令,發現公司周圍都不會寫shell指令碼

shell是使用者和linux作業系統之間的介面。類似windows系統的dos命令列。linux中有多種shell,其中預設使用的是bash。但是如果使用到互動式輸入密碼的需要使用expect來執行,詳見[sh和bash](

直接上指令碼

#!/usr/bin/expect

spawn ssh [email protected]

.92.70

set timeout 2

expect "password:"

send

"115lburabeszw\r"

expect "*]#"

set password "wuxin952"

spawn su root

expect "password:"

send

"wuxin952\r"

expect "#"

send

"/wls/serviceop/virtuoso-opensource/home/bin/isql localhost:13002\r"

send

"db.dba.ttlp_mt(file_to_string_output('/wls/serviceop/virtuoso_script/loan.ttl'),'','');\r"

interact

send:用於向程序傳送字串

expect:從程序接收字串

spawn:啟動新的程序

interact:允許使用者互動

expect 「#」代表確認切換為root使用者後才能執行下面語句,沒有這句無法執行下面語句

vi a.sh 可以檢視該檔案內容,如果要修改,則鍵盤輸入a,然後使用上下鍵切換,儲存,鍵盤輸入escwq回車即可

ls -l檢視該資料夾下的檔案屬性

shell指令碼總結

1.定義變數 1 變數名和等號之間不能有空格。2 使用乙個定義過的變數,只要在變數名前面加美元符號 即可,變數名外面的花括號是可選的,加不加都行,加花括號是為了幫助直譯器識別變數的邊界.特殊變數列表 變數 含義 0 當前指令碼的檔名 n 傳遞給指令碼或函式的引數。n 是乙個數字,表示第幾個引數。例如...

shell指令碼學習總結

看完了書 shell指令碼學習指南 順便總結一下 看了整本書,全部都是命令,但也確實很難記得命令的選項,所以學習方法就變了。學習嘛,要考慮到遺忘的可能,既然會忘,還不如不去記,能做的就是但用到的時候再去學,那麼現在學習的目的就是為了縮短以後用到時再去學習的學習時間,所以現在所應該學的,是將書本上的命...

Shell指令碼學習總結

最近一段時間研究語音識別 automatic speech recognition,asr 接觸到一款優秀的asr開源專案kaldi。學習過程中,發現kaldi大部分指令碼採用shell語音編寫,所以潛心學習了一段時間的shell程式設計。總體來說,該語言難度一般,關鍵要記住眾多的命令,採用思維導圖...