Time of Update: 2018-12-04
例十 如果設定了很多-e的command,它們的執行順序是怎樣的呢?[rocrocket@rocrocket programming]$ cat mysed.txtBeijing 2003Beijing 2004Beijing 2005Beijing 2006Beijing 2007Beijing 2008[rocrocket@rocrocket programming]$ sed -e ’s/Beijing/London/g’ -e ‘/Beijing/d’ mysed.txtLondon 2
Time of Update: 2018-12-04
linux shell是強大的指令碼程式,文法簡單,下面是一個可執行檔sh指令碼,涵蓋了常用的shell文法和用法,理解它,就等於入門了。 #!/bin/bash# title :# date : ?2012/10/18# author: Made by hfxecho '[test @test test]# sh [-nvx] scripts-n :不要執行 scripts ,查詢 scripts 內的文法,若有錯誤則予以列出!-v :在執行 scripts 之前,先將 scripts
Time of Update: 2018-12-04
我們知道變數是會被子進程繼承的,可以直接使用。有些情況下可能需要繼承函數,以方便透明使用,方法非常簡單,使用“export -f”,注意參數“-f”,它表示函數的意思,不帶參數的export只針對變數。function ifprop(){echo ":$1=$2"}export -f ifprop也可以使用“typeset -fx“替代”export -f“
Time of Update: 2018-12-04
http://hi.baidu.com/zxvb3000/blog/item/9ecd2b022d15490b4bfb5199.html1.test測試命令test命令用於檢查某個條件是否成立,它可以進行數值、字元和檔案三個方面的測試,其測試符和相應的功能分別如下:(1)數值測試:-eq:等於則為真-ne:不等於則為真-gt:大於則為真-ge:大於等於則為真-lt:小於則為真-le:小於等於則為真(2)字串測試:=:等於則為真!=:不相等則為真-z 字串:字串長度偽則為真-n
Time of Update: 2018-12-04
#!/bin/bashtc_home=/opt/oracle/tomcat/instanceName=$1 【建立的執行個體】 cd .. >> /dev/nulltemplate_dir=`pwd`echo $template_dirif [ ! -d $tc_home ] ;then mkdir -p $tc_home 【目錄不存在就建立】fi usemethod(){echo -e "Usage :sh creattcinstance instanceName
Time of Update: 2018-12-04
1. 查詢目前的目錄下所有沒有尾碼名的檔案: find . -type f -and ! -name "*.*" 2. 查詢當前檔案夾下所有用Windows分行符號(CRLF)並且沒有尾碼名的檔案,使用-m參數後則轉換成unix format (LF).#!/bin/bashTERM=linuxexport TERM#for i in $(find . -type f -and ! -name "*.*" ); do# if file $i | grep CRLF ; then#
Time of Update: 2018-12-04
今天,我們來學習下Unix Shell常用命令的知識。大家都知道Unix shell 不但是使用者互動介面,還是一門程式設計語言,系統註冊進入時就會執行一個Unix shell命令檔案 .profile ,下面對Unix shell中的常用命令作簡單介紹。$n shell 程式命令列中的第n 個參數,n為0-9,當n 為0時表示命令名$# 命令列中參數的個數$$ 本shell 命令的進程號$! 最後一個後台進程的代號$* 所有命令列參數$@ 與$*相似,但其值不同$HOME
Time of Update: 2018-12-04
shell 與 export命令使用者登入到Linux系統後,系統將啟動一個使用者shell。在這個shell中,可以使用shell命令或聲明變數,也可以建立並運行shell指令碼程式。運行shell指令碼程式時,系統將建立一個子shell。此時,系統中將有兩個shell,一個是登入時系統啟動的shell,另一個是系統為運行指令碼程式建立的shell。當一個指令碼程式運行完畢,指令碼shell將終止,返回到執行該指令碼之前的shell。 從這種意義上來說,使用者可以有許多
Time of Update: 2018-12-04
轉自:http://xierongzhong1.blog.163.com/blog/static/5232328620102921658692/ shell中可能經常能看到:>/dev/null 2>&1 命令的結果可以通過%>的形式來定義輸出 /dev/null 代表空裝置檔案 > 代表重新導向到哪裡,例如:echo "123" > /home/123.txt 1
Time of Update: 2018-12-04
例1#!/bin/shcase ${1##*.tar.} in bz2) tar jxvf $1 ;; gz) tar zxvf $1 ;; *) echo "wrong file type"esac$1 表示運行該指令碼時的第一個命令列參數${1##*.tar.} 表示第一個命令列參數去掉*.tar.後剩下的部分。比如運行指令碼時用 ./mytar.sh bak.tar.gz,
Time of Update: 2018-12-04
shell指令碼執行個體備忘:一些與傳遞給shell的參數相關的變數:$# 命令列參數的個數$? 調用命令的傳回值$$ 當前進程的進程號$! 最後一個後台命令的進程號$0 命令列的第一個參數,也就是命令名$n 命令列的第n個參數,如果要取超過9個參數${n}$* 所有的命令列參數,等於("$1 $2...""$@" 所有的命令列參數,等於("$1" "$2"...)$_
Time of Update: 2018-12-04
1. 擷取命令執行的傳回值同下?2. 擷取指令碼執行的傳回值#!/bin/bashecho "A test."exit 0執行指令碼後,echo $?,列印出:03. linux下後台執行程式windows上面用start 命令 並且指定/b 選項(如果有log輸出,後面加上重定位,如,2>log即可), linux下在命令後面加上& 符號4. strip的作用?strip處理過後,將去掉其中的調試資訊,執行文 件大小也將小很多。命令如下: # arm-linux-strip
Time of Update: 2018-12-04
shell指令碼和其他程式設計語言一樣提供了程式執行流if esle , do while ,for ,case,等。和其他程式設計語言一樣,shell指令碼的程式執行流的存在是為建立完整的邏輯思維,通過下面幾個指令碼來慢慢學習程式執行流。首先是if else迴圈與do while迴圈的格式:單分支:if CONDITION ; then //需要注意CONDITION語句的格式:[ command ]
Time of Update: 2018-12-04
轉自:http://hi.baidu.com/rytech/blog/item/0ddd1428cce175f899250abb.html那麼一條複雜的Linux命令怎樣構成呢?下面來介紹幾個技巧。 利用輸入/輸出重新導向 在Linux命令列模式中,如果命令所需的輸出不是來自鍵盤,而是來自指定的檔案,這就是輸入重新導向。同理,命令的輸出也可以不顯示在螢幕上,而是寫入到指定檔案中,這就是輸出重新導向。 接下來看看標準輸入/輸出重新導向在構造一條Linux命令中的實際應用。 1
Time of Update: 2018-12-04
一,查看當前shell#cat /etc/shells #可以看到本系統中可以使用哪些shell #echo $SHELL #可以查看當前預設的shell二,為什麼按上下鍵沒有提示記錄說明當前shell不是/bin/bash三,修改當前shell命令:chsh -s /bin/sh 使用者名稱 (如果不加使用者名稱,表示目前使用者)四,chsh -s到底是修改了哪裡chsh -s其實修改的就是/etc/passwd檔案裡和你的使用者名稱相對應的那一行。PS:
Time of Update: 2018-12-04
參考書目:《Shell指令碼學習指南》,Arnold Robbins & Nelson H.F. Beebe 著 O'Reilly Taiwan公司 編譯, 機械工業出版社 P24: 預設情況下,當shell執行一個具有“可執行屬性”程式的時候, shell會要求 kernel
Time of Update: 2018-12-04
中新網3月16日電 據共同社報道,日本官房長官枝野幸男16日表示,日本福島第一核電站1號與3號核反應堆的安全殼可能受到損壞,日本可能需要尋求美國軍方的援助。 枝野幸男說,日本可能向美國軍方尋求協助,以冷卻核反應堆。 16日早些時候的報道說,福島第一核電站的3號反應堆有可能再次發生氫氣爆炸,目前在3號反應堆上空有很大的煙霧。 據報道,經營這一核電站的東京電力公司福島事務所在16日上午10時接受媒體採訪時表示,由於無法靠近核電站確認,從遠處觀察,應該是3號反應堆出了問題。但是實際情況無法知道。
Time of Update: 2018-12-04
在shell中,字串轉換為時間戳記可以這樣做: date -d "2010-10-18 00:00:00" +%s輸出形如:1287331200其中,-d參數表示顯示指定的字串所表示的時間,+%s表示輸出時間戳記。而時間戳記轉換為字串可以這樣做:date -d @1287331200輸出形如:Mon Oct 18 00:00:00 CST 2010文章來源:http://www.codelast.com/如果要轉換成“2010-10-18
Time of Update: 2018-12-05
待處理的檔案aaa.log內容:09/26 00:00:08 116.41834259033203 39.90071597768346 116.60888671875 35.38904996691167 502516.70740909/26 00:01:34 121.13089397549632 30.98941357306606 121.55966117978099 31.149880293437714 44614.897
Time of Update: 2018-12-05
一直以來對shell並不是很熟悉,並且在報錯日誌的時候習慣的寫 command >log.log 2>&1今天一個同事看了我的shell指令碼,問我 2>&1是什麼意思,還真把我給難住了。經過google了一番,有了個大概的瞭解: shell的標準輸入預設的是鍵盤,也可以試檔案或者管道 |標準輸出預設是終端同樣也可以是檔案或者管道標準錯誤預設也是終端,可以試檔案等 標準的輸入、輸出、和錯誤輸出分別表示STDIN STDOUT STDERR 也可以用數字表示 0