Shell中使用Expect Here Document

在使用Shell寫程式時,有時不得不面對互動的問題——可惜shell往往無法自動完成互動。如果互動的內容很多,自然是直接應用Expect指令碼比較方便;如果互動的內容很少,而且考慮到Shell的易用性,在Shell指令碼中建立一個Expect 的Here Document更加方便靈活。 如下例所示,Expect Here Document可以直接運行並將運行結果賦給KSH變數rcs_stat。 #!/bin/kshautoload formatAPnum# Set

java調用shell命令並擷取執行結果

使用到Process和Runtime兩個類,傳回值通過Process類的getInputStream()方法擷取 [plain] view plain copy package ark;      import java.io.BufferedReader;  

通過shell指令碼修改xml檔案中的某行記錄

通過shell指令碼修改xml檔案中的某行記錄 跟之前一樣,假設有如下的xml檔案: web.xml中有如下內容: <param-name>cookieName</param-name><param-value>sessionName</param-value> 需求:現在需要利用shell指令碼替換掉cookieName對應的value值, 利用shell實現方式如下: shell指令碼部分:

Linux中的shell命令參數詳解__Linux

命令列      使用者登入到Linux系統時,可以看到一個shell提示符,標識了命令列的開始。使用者可以在提示符後面輸入任何命令及參數。例如:      $ date      二 11 23 01:34:58 CST 1999       $    

通過shell指令碼替換屬性檔案中的某行記錄

通過shell指令碼替換屬性檔案中的某行記錄 假設有如下屬性檔案 demo.properties user.name=test user.password=123456 ............................... 需求:先需要通過shell 指令碼將 user.name 和 user.password 的value值替換為實際需要的使用者名稱和密碼, 將可以通過如下方式實現: sed -i

linux shell if 簡介__linux

1、簡介 shell 編程中使用到得if語句內判斷參數   –b 當file存在並且是塊檔案時返回真   -c 當file存在並且是字元檔案時返回真   -d 當pathname存在並且是一個目錄時返回真   -e 當pathname指定的檔案或目錄存在時返回真   -f 當file存在並且是正規檔案時返回真   -g 當由pathname指定的檔案或目錄存在並且設定了SGID位時返回為真   -h 當file存在並且是符號連結檔案時返回真,該選項在一些老系統上無效   -k

shell中使用sort和uniq實現兩檔案的並集,交集和差集

網上轉的,不錯,比使用awk容易點 給定兩個檔案 a.txt 和 b.txt ,每行是一個記錄(假設沒有重複),要求輸出兩集合的交集、並集、差集,輸出的結果只包括唯一項。交集定義為同時出現在兩個檔案中的記錄項,並集定義為出現在任何一個檔案中的記錄項,差集(A-B)定義為出現在A中而且不出現在B中的記錄,對稱差集定義為只出現在一個檔案中的記錄。 假設 a.txt 包括 a, c, b 三行。假設 b.txt 包括 d, e, c, b

基本shell 編程__編程

 if else以及大於、小於、等於邏輯運算式 if ....; then  ....  elif ....; then  ....  else  ....  fi [ -f "somefile" ] :判斷是否是一個檔案 [ -x "/bin/ls" ] :判斷/

shell之文本過濾(Regex)__Regex

當從一個檔案或命令輸出中抽取或過濾文本時,可以使用Regex(R E) ,Regex是一些特殊或不很特殊的字串模式的集合。   ^ 只只匹配行首 $ 只只匹配行尾 * 只一個單字元後緊跟*,匹配0個或多個此單字元 [ ] 只匹配[ ] 內字元。可以是一個單字元,也可以是字元序列。可以使用 -表示[ ]內字元序列範圍,如用 [ 1 - 5 ]代替[ 1 2 3 4 5 ] \ 只用來屏蔽一個元字元的特殊含義。因為有時在 s h e l l中一些元字元有

shell 字串匹配

問題:shell 如何判斷某個檔案名稱以某個字元開頭~ 解決: #var="cn get the length of me" #$1: parameter 1 傳要判斷的檔案名稱字 var=$1 isCN=false # ${var:0:2} 取var子串,從第0個字元起,取2兩個字元if [[ ${var:0:2} -eq "cn" ]] then echo sub is 

MAC 系統的啟動過程和系統啟動時運行shell 指令碼

MAC  系統的啟動過程 可以參見: http://hi.baidu.com/%CB%E6%B7%E7%B6%F8%D0%D01999/blog/item/271d20a694d7d49dd0435842.html   1 Mac 開機啟動指令碼或應用(系統啟動時運行shell 指令碼) 1)如果想啟動的是一個Mac 的應用程式(即xxx.app)則可以通過圖形化介面來設定:     system prefernce--&

Shell指令碼實現自動化安裝

在Linux環境下,實現多個軟體包的自動化安裝步驟: 1、找到軟體包,提取軟體包的名字建立解壓路徑(為了讓我們更清楚的找到我們的檔案) pkg=`find ${PACKAGE_PATH} -name *BIN*.tar.gz | sed -n '$'p`  (假設我要找的包的名字有 BIN) t_dir=`basename ${pkg} | awk -F'.tar' '{print $1}'`  (讀取包名) rm -r /opt/${t_dir}

Unix/Linux Shell指令碼入門執行個體[00原創]__Linux

這是一個簡單了Shell執行個體。 下面是它的要求描述: 實驗五 UNIX Shell 程式設計 實驗內容:使用UNIX Shell程式設計語言,編寫UNIX Shell 應用程式。 實驗要求:按下列要求編寫Shell指令碼,把所學的各種UNIX命令串聯起來。 1.運行Shell指令碼,首先顯示類似如下的菜單: What would you like to do: List Directory *****

Shell 判斷檔案是否存在的方法

方法一: locate_library() { [ ! "$1*" = "`echo $1*`" ]; } 用法: # Look for PAM (done weirdly due to distribution bugs (e.g. Debian) or the# crypt library.if find_func pam_start sysdeputil.o; then locate_library /lib/libpam.so.0 &

Shell中字串分割的三種方法

問題:對於’1,2,3,4,5’這樣的字串輸出採用,分隔開的1 2 3 4 5 特徵:在字串中沒有空格 解決方案1: #!/bin/bashvar=’1,2,3,4,5’var=${var//,/ } #這裡是將var中的,替換為空白格for element in $var do echo $elementdone 若原來字串中有空格如:’mark:x:0:0:this is a 

Shell指令碼互動之:自動輸入密碼

平時在控制台輸入指令如:sudo、ssh、ftp或者修改admin許可權的檔案時候都會要求輸入password,但是在she'll指令碼運行過程中該如何互動實現自動輸入密碼呢。 下面總結三種實現方法。 一、重新導向:用重新導向方法實現互動的前提是指令需要有參數來指定密碼輸入方式,如ftp就有-i參數來指定使用標準輸入來輸入密碼         shell用重新導向作為標準輸入的用法是:cmd<<delimiter ,shell

【shell學習筆記】curl命令總結

2014-12-16 20:34 文思海輝 =========== CURL命令總結 1. 下載 curl -o [檔案名稱] www.baidu.com 2. 顯示 HTTP request頭資訊 curl -i www.baidu.com 顯示 HTTP response頭資訊 curl -I www.baidu.com 3. 顯示詳細通訊過程 curl -v

一個好玩的Linux shell指令碼__Linux

一個好玩的Linux shell指令碼,基本思路是迴圈調用cowsay 效果如下 ------------------------------------------------------------------------華麗麗的分割線------------------------------------------------------------------------------ (部分圖片) ---------------------

40 在Ubuntu下編寫shell指令碼流程簡單說明

在linux中編寫shell指令碼的流程的簡單說明 1、使用vim或者gedit建立一個檔案,通常來說會用.sh作為檔案尾碼 2、以 “#!/bin/bash”為第一行語句,其中“#!”被稱為“Sha-Bang”符號,是shell指令碼的起始符號,用於說明當前的指令檔用bin/bash來執行 3、編寫語句,使用#來作為注釋的關鍵字符

用Linux shell編的一個小計算機__Linux

#!/bin/sh echo  -n "welcome to my programming world" echo  -n "This program is a calculator" operator=" +      -      x    /  exit "

總頁數: 301 1 .... 148 149 150 151 152 .... 301 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.