Time of Update: 2018-08-03
1. 變數的定義 1.1 變數名可以由字母、數字、底線組成,但數字不能作為變數名的第一個字元。 1.2 通過賦值符號“=”來定義變數的值,e.g: myname='test', 字串類型,不解析任何字元 myname="abcd", 雙引號內部會解析$和反斜線特殊字元 num=100; price=1.2345 now_date=`date`, 反引號會執行系統命令。 2. 變數的引用 2.1
Time of Update: 2018-07-30
Linux Shell 提供兩個非常實用的命令來爬取網頁,它們分別是 curl 和 wget 米撲代理,作為大資料分析研究的基礎服務,對其做了深入的研究和總結。 curl 和 wget 使用代理 curl 支援 http、https、socks4、socks5 wget 支援 http、https Shell curl wget 樣本 #!/bin/bash## curl 支援 http、https、socks4、socks5# wget 支援
Time of Update: 2018-08-20
有許多沒有公網IP的內網使用者,不能從外網接入內網的NAS。但是如果白天在公司工作沒完成,需要回家繼續完成或者工作中需要臨時調取家中NAS的資料,這時花生棒就可以派上用場,下面是用花生棒做的遠程穿透區域網路限制防問的案例,分享出來與大家一起學習。
Time of Update: 2018-08-22
今天在做自動化jenkins部署,遇到了一個問題.我在執行shell指令碼的時候,會把其它進程也殺死,而且本進程也不再執行,尋找資源,找到了一篇文章。 這是因為Jenkins預設會在Build結束後Kill掉所有的繁衍的處理序。 解決方案: 1.重設環境變數build_id 在execute shell輸入框中加入BUILD_ID=DONTKILLME,即可防止jenkins殺死啟動的java進程
Time of Update: 2018-08-22
變數是一個字串,我們分配一個值。分配的值可以是一個數字,文本,檔案名稱,裝置,或任何其他類型的資料。 變數是沒有超過實際資料的指標。 shell,可以建立,分配和刪除變數。 變數名: 變數的名稱可以包含只有字母(a到z或A到Z),數字(0〜9)或底線(_)。 按照慣例,UNIX的shell變數將有自己的名稱以大寫字母。 下面的例子是有效變數名: _ALI TOKEN_A VAR_1 VAR_2 以下是無效的變數名的例子: 2_VAR
Time of Update: 2018-12-03
#!/bin/sharg_count=$#if [ $arg_count -eq 0 ]; thenecho "錯誤:請輸入要安裝的檔案名稱."echo "用法:install 檔案1 [檔案2 檔案3 檔案4 檔案5 ... 檔案n]"exitfifor filename in $*doif [ -f $filename ]; thentmp=install_$filenamesudo make $tmpelseecho "錯誤:檔案$filename不存在,未被安裝"fidone
Time of Update: 2018-12-03
文章出處:http://zhousir1991.diandian.com/page/4 [root@my ~]# find . -name *.rpm ./Nessus-4.0.1-es5.i386.rpm [root@my ~]# find . -name *.tar.gz find: paths must precede expression: recordmydesktop-0.3.8.1.tar.gz Usage: find [-H] [-L] [-P] [-Olevel] [-D
Time of Update: 2018-12-03
Linux特殊符號大全在shell中常用的特殊符號羅列如下:# ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# $@ `command`{} [] [[]] () (()) || && {xx,yy,zz,...}~ ~+ ~-
Time of Update: 2018-12-03
#! /bin/bash#script filename:addbook.bsh#comment:add info to datafile#datafile:conn.dat#initialize the variablesDATAFILE="conn.dat"NAME=""PHONE=""ADDRESS=""EMAIL=""#check in argument list then add info to datafileif [ $# -lt 1 ];thenecho "Input some
Time of Update: 2018-12-03
摘自:http://www.diybl.com/course/3_program/shell/shelljs/200862/119742.html 一個Regex就是由一般字元(例如字元 a 到 z)以及特殊字元(稱為元字元)組成的文字模式。該模式描述在尋找文字主體時待匹配的一個或多個字串。Regex作為一個模板,將某個字元模式與所搜尋的字串進行匹配。 將下一個字元標記為一個特殊字元、或一個原義字元、或一個 後向引用、或一個八進位轉義符。例如,'n' 匹配字元 "n"。' '
Time of Update: 2018-12-03
大家是否有過這樣的經曆,在命令列裡輸入adb shell,然後使用命令操作你的手機或模擬器,但是那些命令都是常見Linux命令的閹割縮水版,用起來很不爽。是否想過在Android上使用較完整的shell呢?用BusyBox吧。不論使用adb串連裝置使用命令列還是在手機上直接用terminal emulator都可以。一、什麼是BusyBox ?BusyBox 是標準 Linux 工具的一個單個可執行實現。BusyBox 包含了一些簡單的工具,例如 cat 和
Time of Update: 2018-12-03
觀察Oracle資料庫效能,Oracle內建的awr 功能為我們提供了一個近乎完美的解決方案,通過awr特性我們可以隨時從資料庫提取awr報告。不過awrrpt.sql指令碼執行時需要我們提供一些互動資訊,因此可以將其整合到shell指令碼中來實現自動產生指定時段的awr報告並發送給相關人員。本文對Linux/Unix shell 自動發送AWR report的功能進行了完善和補充。
Time of Update: 2018-12-03
周海漢 /文2010.6.10 bash shell的擴充,指shell在分析輸入命令時的一種將命令展開的操作。 有7種擴充方式。參考一下man bash的擴充頁:擴充(EXPANSION) 命令列的擴充是在拆分成詞之後進行的。有七種類型的擴充: brace expansion(花括弧擴充), tilde expan‐ sion(波浪線擴充), parameter and variable expansion(參數和變數擴充), command
Time of Update: 2018-12-03
今天在學習shell指令碼,然後網上抄了一段簡單的指令碼如下:#!/bin/bashcygwin=true# 對變數賦值:a="hello world" #等號兩邊均不能有空格存在# 列印變數a的值:if $cygwin; then echo "A is:" $aficygwin 執行shell指令碼時出現文法異常,連最基本的if 控制都解析不了的原因是指令檔是我在WINDOWS下面建立的,需要進行格式轉換轉成DOS格式,CD到指令碼所在目錄,然後用命令:dos2unix filename
Time of Update: 2018-12-03
Sed(a stream editor)4 個空間 :input stream, pattern buffer, output stream 和 hold buffer基本操作過程是 :(1). 將 input stream 的當前行放入 pattern buffer, 然後 input stream 的指標指向下一行 ;(2). 對 pattern buffer 中的行進行處理 ;(3). 將 2 的處理結果放入 output stream. 然後迴圈這個過程 .hold
Time of Update: 2018-12-04
大家知道,通過shell可以將資訊輸出至螢幕上,但是如果輸出內容很多而且繁冗,這將不便於與我們進行分析和提取我們想要的螢幕資訊,那麼如何將shell輸出寫入檔案中呢?通過兩個管道命令就可以實現:1. > 符號表示將資訊寫入檔案中2. >> 符號表示在已有的檔案中添加資訊例如命令 ls -l的輸出如下:如何將的shell輸出寫入檔案中呢?命令如:ls -l ./test.txt (表示將ls -l
Time of Update: 2018-12-04
文章目錄 1.shell數組的使用2.awk數組的操作3.shell參數問題4.awk中如何輸出單引號5.awk、 shell字串串連的方法 1.shell數組的使用賦值:all=(6 5 4 3 1 8 9 10) #一對括弧表示是數組,數組元素用“空格”符號分割開。取長度:num=${#a[*]} # ${#a[*或@]} 取元素:member=${a[2]} # 用${數組名[下標]} 下標是從0開始 下標是:
Time of Update: 2018-12-04
執行個體 一般編程步驟 現在我們來討論編寫一個指令碼的一般步驟。任何優秀的指令碼都應該具有協助和輸入參數。並且寫一個偽指令碼(framework.sh),該指令碼包含了大多數指令碼都需要的架構結構,是一個非常不錯的主意。這時候,在寫一個新的指令碼時我們只需要執行一下copy命令:cpframework.shmyscript 然後再插入自己的函數。 讓我們再看兩個例子: 二進位到十進位的轉換 指令碼b2d將位元(比如1101)轉換為相應的十進位數。這也是一個用expr命令進行數學運算的
Time of Update: 2018-12-04
linux shell 可以使用者定義函數,然後在shell指令碼中可以隨便調用。下面說說它的定義方法,以及調用需要注意那些事項。 一、定義shell函數(define function)文法:[ function ] funname [()] { action; [return int;] } 說明: 1、可以帶function fun() 定義,也可以直接fun() 定義,不帶任何參數。 2、參數返回,可以顯示加:return
Time of Update: 2018-12-04
curl是一個訪問url的工具,可以用他構造http request報文,且可以解析伺服器返回的http response,額外還支援cookie特性,可以用curl完成web瀏覽器的準系統。當然curl還支援HTTPS/FTP/FTPS/TELNET/LDAP等協議。本文只探討其強大的HTTP功能。通用文法:curl [option] [URL...]在處理URL的時候其支援類型於SHELL的名稱擴充功能,如http://any.org/archive[1996-1999]/vol[1-4]