2020年2月12日 星期三

[GNU/Linux] Bash


  • Who/Whom
    • GNU project 下, 供 GNU Operating System / Unix (當然在 GNU/Linux也有) 使用的 Shell.
  • When?
    • first release 1989
  • What?
    • GNU Bourne-Again SHell
    • 屬於 GNU packages, 基本上是一個 command processor, 可處理指令 (e.g. UNIX commands, like ls, sed, ...etc.) 或是執行 shell script
  • Features
    • pipeline
    • Grammar
    • interactive
  • Usage
    • 環境設定, 切換 shell 為 bash (change shell) (MacOSX 最新預設為 zsh
        chsh -s /bin/bash
        
    • Pipeline & redirect
      • file descriptor
        • 0: stdin
        • 1: stdout
        • 2: stderr
    • Shell Script
      • command: ((...))
      • variable syntax: $((...))
      • 相關 shell script 教學可參考鳥哥
    • 常用 scripts
      • iteration
        • for i in $(seq 1 2 10)
        • for file in `find . -name *.mp4`
        • find . -type f -exec mv {} dst/ \; 
      • 取代內容
        • sed 's/orig/replaced/' file.txt
      • pipe
        • find . -exec echo `echo "{}" | sed 's/./foo/g'` \;
      • 字串處理
        • 去頭
        • 去尾
      • 印 timestamp
        • $(date)
    • Config
      • /etc/profile, .bashrc, .bash_profile
  • Reference:

沒有留言:

張貼留言