Giới thiệu và ôn tập

Nhập môn Bash Scripting

Alex Scriven

Data Scientist

Giới thiệu khoá học

Khoá học này sẽ gồm:

  • Chuyển từ dòng lệnh sang Bash script
  • Biến và kiểu dữ liệu trong Bash
  • Cấu trúc điều khiển
  • Hàm và tự động hoá script
Nhập môn Bash Scripting

Vì sao Bash? (Bash)

Trước hết, vì sao dùng Bash?

  • Bash là viết tắt của 'Bourne Again Shell' (một lối chơi chữ)

  • Phát triển từ thập niên 80 nhưng vẫn rất phổ biến. Mặc định trên nhiều hệ Unix, Mac

  • Unix là nền tảng Internet! (chạy mô hình ML, pipeline dữ liệu)

    • AWS, Google, Microsoft đều có CLI cho sản phẩm của họ
Nhập môn Bash Scripting

Vì sao viết Bash script? (scripting)

Vậy vì sao viết script Bash?

  • Thực thi lệnh shell dễ dàng (không cần copy-paste mỗi lần)
  • Có các cấu trúc lập trình mạnh
Nhập môn Bash Scripting

Yêu cầu nền tảng

 

Khoá học yêu cầu kiến thức cơ bản.

  • Hiểu dòng lệnh (terminal, shell) là gì
  • Đã dùng các lệnh cơ bản như cat, grep, sed, v.v.

Nếu quý vị chưa quen, đừng lo — ta sẽ ôn ngay bây giờ!

Nhập môn Bash Scripting

Ôn lệnh shell

Một số lệnh shell quan trọng:

  • (e)grep lọc đầu vào theo mẫu regex
  • cat nối nội dung tệp theo dòng
  • tail \ head trả về -n dòng cuối/cuối trên
  • wc đếm từ hoặc dòng (cờ -w -l)
  • sed thay thế chuỗi theo mẫu
Nhập môn Bash Scripting

Nhắc lại về REGEX

'Regex' hay biểu thức chính quy là kỹ năng thiết yếu khi viết Bash.

Quý vị sẽ thường lọc tệp, dữ liệu trong tệp, khớp tham số và nhiều việc khác. Rất đáng để ôn lại.

Để thử regex, có thể dùng các trang như regex101.com

Nhập môn Bash Scripting

Thực hành shell

Hãy ôn một số lệnh shell qua ví dụ.

Xét tệp văn bản fruits.txt với 3 dòng dữ liệu:

banana
apple
carrot

Nếu chạy grep 'a' fruits.txt ta nhận được:

banana
apple
carrot
Nhập môn Bash Scripting

Thực hành shell

Nhưng nếu chạy grep 'p' fruits.txt ta nhận được:

apple

Nhớ rằng ngoặc vuông là tập ký tự khớp như [eyfv]. Dùng ^ sẽ đảo ngược tập (không phải các ký tự/số này)

Vậy chạy grep '[pc]' fruits.txt sẽ trả về:

apple
carrot
Nhập môn Bash Scripting

Thực hành shell

Có lẽ quý vị đã dùng 'pipe' trong terminal. Nếu tệp có rất nhiều trái cây, ta dùng sort | uniq -c

  • Lệnh đầu sắp xếp theo alphabet, lệnh sau đếm số lần xuất hiện
  • Muốn lấy top n mục, có thể pipe sang wc -l và dùng head
cat new_fruits.txt | sort | uniq -c | head -n 3
  14 apple
  13 bannana
  12 carrot
Nhập môn Bash Scripting

Ayo berlatih!

Nhập môn Bash Scripting

Preparing Video For Download...