Linux shell指令碼筆記

2022-06-18 04:24:07 字數 1881 閱讀 6444

shell可以被稱作是指令碼語言,因為它本身是不需要編譯的,而是通過直譯器解釋之後再編譯執行,和傳統語言相比多了解釋的過程所以效率會略差於傳統的直接編譯的語言。

這是shell指令碼簡單明瞭的語法,給很多碼農尤其是運維還是帶來不少好處,尤其是和python的結合,在大資料方面可謂是一騎絕塵。

shell看做是一種語言名稱,其具體的語法則遵循bash的規定

1> i/o儲存位置的查詢

重定向:不是命令

程式自身都有i/o

0:標準輸入

1:標準輸出

2:錯誤輸出

下圖暫時當前控制台i/o儲存位置

2>文字流的記錄

標準輸出

ls / 1>success.txt

錯誤輸出

ls /aaa 0>fail.txt

全部輸出

ls / /aaa >& all.txt

3>重定向

>重定向覆蓋

>>重定向追加

10.4 引用

10.5 退出狀態

10.6 判斷狀態

command1 && command2

command1 || command2

1>算術表示式

let 等價於 $(())

2>條件表示式

test 等價於

-eq

表示=-ne

表示!=-lt

表示表示<=

-gt表示

>-ge >表示=

新增使用者;使用者密碼同使用者名稱;靜默執行指令碼;避免捕獲使用者介面;程式自定義輸出

直接上**

#!/bin/bash

[ ! $# -eq 1 ] && echo "args error" && exit 2id $1 >& /dev/null && echo "user:$1 exist~!" && exit 3

! useradd $1 >& /dev/null && echo "add user error!" && exit 7echo $1 | passwd --stdin $1 >& /dev/null

echo "user:$1 add ok ~!"

思考題,那刪除怎麼寫呢,如有回覆則給答案

Linux shell指令碼筆記

shell 命令直譯器是用來解釋使用者對系統的操作 使用cat etc shells可以檢視 系統安裝的shell linux 啟動過程 bios mbr bootloader grub kernel systemd 系統初始化 shell bios 基本輸入輸出系統 選擇u盤啟動還是硬碟啟動 mb...

linux shell指令碼學習筆記

if command then commands fiif後面的命令,執行後狀態碼返回0,則執行then部分的命令 執行pwd wang wang test pwd home wang test 檢視退出碼 wang wang test echo 0 執行pwda wang wang test pw...

Linux shell命令指令碼學習筆記

在使用load data到mysql的時候,有2種情況 1 在遠端客戶端 需要新增選項 local infile 1 匯入遠端客戶端文字到mysql,需指定local 預設就是ignore 加ignore選項會放棄資料,加replace選項會更新資料,都不會出現唯一性約束問題。2 在本地伺服器匯入本...