Time of Update: 2018-12-04
1.單引號與雙引號的區別單引號:單引號內只能是一般字元,沒有特殊字元;雙引號:有特殊字元。example:#name=VBird#echo $nameVBird#myname="$name its me"#echo $mynameVBird its me#myname='$name its me'#echo $myname$name its me 2.引號('):在一串命令中,引號之內的命令將先執行,而其執行出來的結果將作為外部輸入資訊。example:#ls -l 'locate
Time of Update: 2018-12-04
常用系統變數$0 當前程式的名稱$n 當前程式的第n個參數,n=1,2,…9$* 當前程式的所有參數(不包括程式本身)$# 當前程式的參數個數(不包括程式本身)$$ 當前程式的PID$! 執行上一個子進程的PID$? 執行上一個指令的傳回值條件判斷:expression為字串操作-n str 字串str是否不為空白-z str 字串str是否為空白str1
Time of Update: 2018-12-04
括弧都是用來運行一組命令的,用()號括起來的命令,表示在子shell中運行,不影響當前shell的環境用{}號括起來的命令,表示在當前shell中運行,運行結果會影響當前shell環境如果大括弧中的命令要打在同一行,左括弧後必須有一個空格,最後一條命令後必須要有分號{ date;ls;cd ~;}而小括弧就不需要(date;ls;cd ~)[]號表示 test 命令,左[括弧後面必須有一個空格,右]括弧的前面必須有一個空格[ "$1" = 10 ]$((i+1))是shell編程中的算術擴充
Time of Update: 2018-12-04
ftp伺服器 172.17.17.17帳號 yangsh密碼 71834581、固定形式#!/bin/shecho "this is my first ftp auto script" echo "open 172.17.17.17 21 user yangsh 7183458 pwd put ftp.txt close bye"|ftp -i -in 2、參數傳遞#!/bin/shecho "this
Time of Update: 2018-12-04
轉載:http://www.360doc.com/content/10/0303/16/155970_17438894.shtml例子 4-2. 簡單的變數賦值 1 #!/bin/bash 2 # "裸體"變數 3 4 echo 5 6 # 變數什麼時候是"裸體"的, 比如前邊少了$的時候? 7 # 當它被賦值的時候, 而不是被引用的時候. 8 9 # 賦值 10 a=879 11 echo "The value of \"a\" is $a." 12 13 # 使用'
Time of Update: 2018-12-04
突然想對linux的網卡流量進行監控,又不想使用cacti,覺得配置snmp很麻煩。現成的工具好像也沒啥太好用的。決定自己寫一個指令碼。 點擊(此處)摺疊或開啟#!/bin/bashrx1=$(ifconfig $1|grep "RX bytes"|awk '{print $2}'|awk -F: '{print $2}')sleep 1rxa=$(($rx1 / 1000))rx2=$(ifconfig eth0|grep "RX bytes"|awk '{print $2}'|awk -F:
Time of Update: 2018-12-04
$0 = shell名稱或shell指令碼名稱$1 = 第一個shell參數...$9 = 第九個shell參數$# = 位置參數的個數"$*" = "$1 $2 $3 $4 .. $n""$@" = "$1" "$2" "$3" "$4" .. "$n"$? = 最近執行的命令的退出狀態$$ = 當前shell指令碼的PID$! = 最近啟動的後台作業的PID形式 如果設定了var 如果沒設定var${var:-string} $var
Time of Update: 2018-12-04
-b file 若檔案存在且是一個塊特殊檔案,則為真-c file 若檔案存在且是一個字元特殊檔案,則為真-d file 若檔案存在且是一個目錄,則為真-e file 若檔案存在,則為真-f file 若檔案存在且是一個規則檔案,則為真-g file 若檔案存在且設定了SGID位的值,則為真-h file
Time of Update: 2018-12-04
1.測試檔案狀態表1 檔案狀態測試- d 目錄- s 檔案長度大於0、非空- f 正規檔案- L 符號串連- r 可讀- x 可執行- s 檔案長度大於0、非空- w 可寫- u 檔案有s u i d位設定- x 可執行 2.測試時使用邏輯操作符-a 邏輯與,操作符兩邊均為真,結果為真,否則為假。-o 邏輯或,操作符兩邊一邊為真,結果為真,否則為假。例子:[ -r t.txt -a -w t.txt ]echo $?0 3.字串測試= 兩個字串相等。!= 兩個字串不等。-z 空串。-n
Time of Update: 2018-12-04
調了半個下午的shell指令碼。。shell真是一個NB的工具。。多謝一個空格,少寫一個空格都能讓人調到死。。1、有些很詭異的錯誤,執行的時候報錯的位置並不一定正確,下午在初始定義變數的時候最後少寫了",結果執行的時候報的是跟這行隔的很遠的一行syntax error near unexpected token `(',這個可以用-x來調試發現2、echo "some thing" > $file當使用重新導向符號>將輸出資料流定位到file的時候,若file不存在則自動建立。但是!
Time of Update: 2018-12-04
寫一個指令碼:1、建立目錄/tmp/scripts2、切換工作目錄至此目錄中3、複製/etc/pam.d目錄至目前的目錄,並重命令為test4、將目前的目錄中的test及其裡面的檔案和子目錄的屬主改為redhat5、將test及其子目錄中的檔案的其它使用者的許可權改為沒有任何許可權#!/bin/bash#DIR='/tmp/csripts2'mkdir $DIRcd $DIRcp -rf /etc/pam.d ./testchown -R redhat ./testchmod -R o=---
Time of Update: 2018-12-04
寫一個指令碼,實現建立並管理LV:說明:指令碼執行時,可以顯示一個菜單給使用者,形如下面:A Create an LV.B Create an LV in an existing VG.C Extend an LV.D Reduce an
Time of Update: 2018-12-04
在linux中,主要通過sed命令來替換文本,通過Regex匹配出的命令,可以用sed來靈活的替換掉,極大的節省了工作量。可以說,sed是shell指令碼裡替換的最主要力量,也是shell指令碼裡用的最多的命令之一,sed是基於行的編譯器,也就是說,它會將匹配到的內容的行列印出來,而且sed有自己的模式空間(記憶體),也就是說sed並不會改變原檔案的內容,但是sed -i 可以直接修改原檔案(此功能慎用,很容易造成損失) sed的用法格式: sed
Time of Update: 2018-12-04
來自:http://blog.sina.com.cn/s/blog_624012330100v8h7.htmlpublic void execCommand(String command){ System.out.println("execCommand........"); Process proc = null; try {
Time of Update: 2018-12-03
Java語言實現的各種排序,包括插入排序、冒泡排序、選擇排序、Shell排序、快速排序、歸併排序、堆排序、SortUtil等。插入排序:package org.rut.util.algorithm.support;import org.rut.util.algorithm.SortUtil;/** * @author treeroot * @since 2006-2-2 * @version 1.0 */public class InsertSort implements
Time of Update: 2018-12-03
shell基礎五:輸入和輸出(echo,read,cat,管道,tee,重新導向等) 下面的所有環境都在在REDHAT LINUX9下實驗的在LINUX中,要使轉義符生效,需加參數-e從echo的變數開始說起如:e c h o命令輸出轉義符以及變數。 # echo -e "/007your home is $HOME , you are connected
Time of Update: 2018-12-03
檢查/設定系統的服務 chkconfig 顯示process的動態 top。inux下常用的效能分析工具,能夠即時顯示系統中各個進程的資源佔用狀況,類似於Windows的工作管理員。詳解http://blog.csdn.net/sanshiqiduer/article/details/1933625文本搜尋 grephttp://www.cnblogs.com/end/archive/2012/02/21/2360965.html任務使用Shell命令控制任務(Jobs)執行jobs
Time of Update: 2018-12-03
基本下面引用的文章,加了幾項, 做個記錄,懶得記了,也省得每次Google。http://my.oschina.net/aiguozhe/blog/415571. 取長度1str="abcd"2expr length $str # 43echo ${#str} # 44expr "$str" :".*" # 4好像一般使用第二種2. 尋找子串的位置1str="abc"2expr index $str "a" # 13expr index $str "b" # 24expr
Time of Update: 2018-12-04
轉自:http://www.jb51.net/article/34323.htm說明:shell中數組的下標預設是從0開始的1、將字串放在數組中,擷取其長度複製代碼 代碼如下:#!/bin/bashstr="a b --n d"array=($str)length=${#array[@]}echo $lengthfor ((i=0; i<$length; i++))doecho ${array[$i]}done 執行結果:[oracle@99bill-as9 array]$ sh
Time of Update: 2018-12-04
BASH使用基礎 關於命令及命令類型對於使用的命令BASH使用hash表,以加速下次的尋找,為添加一個經常使用的命令,可以使用hash cmdBASH在執行命令時對路徑中找到的同名命令按以下的類型順序執行:別名 keywords 函數 內建命令 可執行檔或指令碼BASH在執行使用者輸入的一條指令時,首先要判斷命令的類型,可以使用type cmd來查看cmd是類型。enable命令用來決定是否開啟某個內建的命令,可以用enable -n