GitHub標星2.4W!五分鐘帶你搞定LINUX Bash腳本(SHELL)使用技巧

GitHub標星2.4W!五分鐘帶你搞定LINUX Bash腳本(SHELL)使用技巧

GitHub標星2.4W!五分鐘帶你搞定LINUX Bash腳本(SHELL)使用技巧


資料來源: https://github.com/dylanaraps/pure-bash-bible


FOREWORD

STRINGS
    Trim leading and trailing white-space from string
    Trim all white-space from string and truncate spaces
    Use regex on a string
    Split a string on a delimiter
    Change a string to lowercase
    Change a string to uppercase
    Reverse a string case
    Trim quotes from a string
    Strip all instances of pattern from string
    Strip first occurrence of pattern from string
    Strip pattern from start of string
    Strip pattern from end of string
    Percent-encode a string
    Decode a percent-encoded string
    Check if string contains a sub-string
    Check if string starts with sub-string
    Check if string ends with sub-string
ARRAYS
    Reverse an array
    Remove duplicate array elements
    Random array element
    Cycle through an array
    Toggle between two values
LOOPS
    Loop over a range of numbers
    Loop over a variable range of numbers
    Loop over an array
    Loop over an array with an index
    Loop over the contents of a file
    Loop over files and directories
FILE HANDLING
    Read a file to a string
    Read a file to an array (by line)
    Get the first N lines of a file
    Get the last N lines of a file
    Get the number of lines in a file
    Count files or directories in directory
    Create an empty file
    Extract lines between two markers
FILE PATHS
    Get the directory name of a file path
    Get the base-name of a file path
VARIABLES
    Assign and access a variable using a variable
    Name a variable based on another variable
ESCAPE SEQUENCES
    Text Colors
    Text Attributes
    Cursor Movement
    Erasing Text
PARAMETER EXPANSION
    Indirection
    Replacement
    Length
    Expansion
    Case Modification
    Default Value
    BRACE EXPANSION
    Ranges
    String Lists
CONDITIONAL EXPRESSIONS
    File Conditionals
    File Comparisons
    Variable Conditionals
    Variable Comparisons
ARITHMETIC OPERATORS
    Assignment
    Arithmetic
    Bitwise
    Logical
    Miscellaneous
ARITHMETIC
    Simpler syntax to set variables
    Ternary Tests
TRAPS
    Do something on script exit
    Ignore terminal interrupt (CTRL+C, SIGINT)
    React to window resize
    Do something before every command
    Do something when a shell function or a sourced file finishes executing
PERFORMANCE
    Disable Unicode
    OBSOLETE SYNTAX
    Shebang
    Command Substitution
    Function Declaration
INTERNAL VARIABLES
    Get the location to the bash binary
    Get the version of the current running bash process
    Open the user’s preferred text editor
    Get the name of the current function
    Get the host-name of the system
    Get the architecture of the Operating System
    Get the name of the Operating System / Kernel
    Get the current working directory
    Get the number of seconds the script has been running
    Get a pseudorandom integer
INFORMATION ABOUT THE TERMINAL
    Get the terminal size in lines and columns (from a script)
    Get the terminal size in pixels
    Get the current cursor position
CONVERSION
    Convert a hex color to RGB
    Convert an RGB color to hex
CODE GOLF
    Shorter for loop syntax
    Shorter infinite loops
    Shorter function declaration
    Shorter if syntax
    Simpler case statement to set variable
OTHER
    Use read as an alternative to the sleep command
    Check if a program is in the user’s PATH
    Get the current date using strftime
    Get the username of the current user
    Generate a UUID V4
    Progress bars
    Get the list of functions in a script
    Bypass shell aliases
    Bypass shell functions
    Run a command in the background
AFTERWORD

前言
STRINGS
    修剪字符串的前導和尾隨空格
    修剪字符串中的所有空白並截斷空格
    在字符串上使用正則表達式
    在定界符上分割字符串
    將字符串更改為小寫
    將字符串更改為大寫
    反轉字符串大小寫
    修剪字符串中的引號
    從字符串中剝離模式的所有實例
    從字符串中刪除模式的首次出現
    從字符串的開頭剝離圖案
    字符串末尾的帶狀圖案
    對字符串進行百分比編碼
    解碼百分比編碼的字符串
    檢查字符串是否包含子字符串
    檢查字符串是否以子字符串開頭
    檢查字符串是否以子字符串結尾
陣列
    反轉數組
    刪除重複的數組元素
    隨機數組元素
    遍歷數組
    在兩個值之間切換
圈數
    循環顯示一系列數字
    循環遍歷可變範圍的數字
    遍歷數組
    用索引循環遍歷數組
    循環遍歷文件的內容
    循環遍歷文件和目錄
文件處理
    將文件讀取為字符串
    將文件讀取到數組(按行)
    獲取文件的前N行
    獲取文件的最後N行
    獲取文件中的行數
    計算目錄中的文件或目錄
    創建一個空文件
    提取兩個標記之間的線
文件路徑
    獲取文件路徑的目錄名稱
    獲取文件路徑的基本名稱
變數
    使用變量分配和訪問變量
    根據另一個變量命名一個變量
逃逸序列
    文字顏色
    文字屬性
    光標移動
    刪除文字
參數擴展
    間接的
    替代
    長度
    擴張
    案例修改
    默認值
擴展支架
    範圍
    字串清單
條件表達
    文件條件
    文件比較
    可變條件
    變量比較
算術運算符
    分配
    算術
    按位
    邏輯上
    雜
算術
    設置變量的語法更簡單
    三元測試
陷阱
    在腳本退出時執行一些操作
    忽略終端中斷(CTRL + C,SIGINT)
    對窗口調整大小做出反應
    在執行每個命令之前先做點事
    當Shell函數或源文件執行完成時執行一些操作
性能
    禁用Unicode
過時的語法
    舍邦
    命令替換
    功能聲明
內部變量
    獲取bash二進製文件的位置
    獲取當前運行bash進程的版本
    打開用戶的首選文本編輯器
    獲取當前函數的名稱
    獲取系統的主機名
    獲取操作系統的體系結構
    獲取操作系統/內核的名稱
    獲取當前工作目錄
    獲取腳本已運行的秒數
    獲取一個偽隨機整數
有關端子的信息
    獲取行和列的終端大小(通過腳本)
    獲取終端尺寸(以像素為單位)
    獲取當前光標位置
轉換
    將十六進制顏色轉換為RGB
    將RGB顏色轉換為十六進制
高爾夫代碼
    較短的for循環語法
    較短的無限循環
    較短的函數聲明
    if語法較短
    case設置變量的簡單語句
其他
    使用read作為替代的sleep命令
    檢查程序是否在用戶的PATH中
    使用獲取當前日期 strftime
    獲取當前用戶的用戶名
    生成UUID V4
    進度條
    獲取腳本中的功能列表
    繞過外殼別名
    繞過外殼功能
    在後台運行命令
詞尾

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *