Trở thành chuyên gia hệ thống cùng siêu sò (phần 2)

Hôm nay thời tiết nắng ráo đẹp đẽ, với thời tiết này mà đi biển thì thật tuyệt vời phải không anh em đồng đạo. Anh em ở Hà Nội thì có thể phi ngay ra Đồ Sơn ăn chút hải sản để cảm nhận được cái không khí biển cuối thu đầu đông se lạnh, nói chung nó cũng là 1 cái thú đấy.  Chính vì thếnay mình sẽ tiếp tục giới thiệu về Siêu Sò (Powershell) – loại hải sản đặc trưng của mọi miên biển :)) Chủ đề sẽ tập trung vào các biểu thức hay function cơ bản của Powershell. Mong anh em đón đọc :))

Trở thành chuyên gia quản trị hệ thống cùng Siêu sò (Powershell)

water-sea_00422819

Anh em có lẽ không xa lạ gì với định nghĩa biến (variable) trong lập trình hay toán học. Đối với thằng Powershell thì các giá trị có thể được gán vào biến và sử dụng trong script cũng tương tự như vậy.

Việc sử dụng biến cho phép 500 anh em ta đảm bảo giá trị không bị thay đổi trong suốt thời gian sử dụng cũng như làm cho việc thay đổi giá trị sau này đơn giản hơn đối với cả việc thủ công hay tự động, và đặc biệt nó làm cho script dễ đọc hơn :P. Nếu anh em không sử dụng thì kiểu như đọc script như đọc Captcha thôi :3

readable-captcha_o_120689

Tên biến trong Powershell luôn bắt với kí tự $, $ tương tự như kiểu var trong C# ví dụ $UserName, $Age, $Year; còn giá trị được gán thì cũng sử dụng = ví như $UserName = “Hoang xinh giai”, $Age = 16.

Powershell hỗ trợ rất nhiều kiểu dữ liệu từ string, int, decimal, mảng thậm chí kiểu dữ liệu như địa chỉ IP hay số phiên bản. Đối với các giá trị như null, true, false thì trong Powershell sẽ là $null, $true, $false

Mặc định thì khi sử dụng biến thằng Powershell sẽ luôn cố gắng đoán kiểu dữ liệu của biến nên khi anh em muốn chỉ đích danh kiểu thì có thể sử dụng như mẫu [int32]$age = 16. Trong trường hợp không đúng kiểu thì giá trị sẽ convert nếu có thể hoặc không thì sẽ gặp lỗi.

Mảng trong Powershell gồm danh sách các item và bắt đầu với kí tự @ như

neu-co-hoa-son-luan-kiem-lan-4-ai-se-len-ngoi-vi-minh-chu

Nếu anh em muốn lôi Đông Tà ra dùng thì có thể sử dụng index để duyệt các phần tử trong mảng giống C# kiểu $Thien_Ha_Ngu_Tuyet[0]

Một dạng pro hơn của mảng đó là HASHTABLE cũng bắt đầu bằng @.

100percent_pro350

Nếu như mảng thông thường dùng để chứa những danh sách cùng kiểu thì hashtable dùng cho dữ liệu có liên quan đến nhau (không phải giống nha) kiểu là thuộc tính trong class ấy. HASHTABLE truy cập phần tử bằng name chứ không theo index (kiểu key và value như dictionary)

Đối với các phép toán +, – , * , /, %  thì cách sử dụng không khác gì C#, Java. Ở đây mình cho mấy cái ví dụ anh em xem qua là hiểu ấy mà.


Còn đối với các toán tử so sánh thì mình có đưa 1 bảng như dưới để anh em tiện so sánh

C# Powershell Ví dụ
== -eq 1 -gt 2 (Returns $false)
!= -ne 1 -lt 2 (Returns $true)
> -gt 2 -eq 1+1 (Returns $true)
>= -ge 3 -ne 1+1 (Returns $true)
< -lt 3 -ge 1+1 (Returns $true)
<= -le 2 -le 1+1 (Returns $true)

Khi so sánh với chuỗi thay vì sử dụng -eq ta còn có thể sử dụng toán tử -match hoặc -like để tìm theo wildcard (tham khảo bài Trở thành chuyên gia Giải pháp cùng với Microsoft Word). Còn đối với tìm trong mảng thì có thể dùng -in, -notin, -contains hoặc -notcontains

Còn với toán tử điều kiện thì

C# Powershell Ví dụ
&& -and (2 -gt 1) -and (1 -eq 1) (return $true)
|| -or (2 -gt 1) -or (1 -eq 1) (return $true)
! -not -not (1 -eq 1)

Việc sử dụng if else hay switch cũng không khác gì C#. Mà nói thẳng thì nó chả khác code C# cả vì 2 thằng như 2 anh em một nhà mà 😛

i-hate-him-too

Chính vì vậy thì mình sẽ tập trung đưa ra ví dụ để  anh em có thể đọc lướt qua là hiểu :v Còn anh em nào thấy như thế là chưa đủ “thỏa mã”, “không thể lên đỉnh được” thì có thể đi sâu xuống phía dưới ……..bài và ấn thật mạnh vào……… link THAM KHẢO

Đầu tiên là cách sử dụng IF ELSE

Kế đó là thằng SWITCH

Rồi cách sử dụng vòng lăp FOR

Tương tự với thằng WHILE, DO WHILE rồi UNTIL

3 cái vòng lặp trên đều có tác dụng y như nhau. Anh em làm .NET thì chắc lạ mỗi thằng Do-Until thôi nhỉ. Đọc qua thì nó khác thằng WHILEDO-WHILE thì điều kiện là $true còn nó thì điều kiện là $false

Cách thoát khỏi vòng lặp thì vẫn sử dụng thẳng BREAK như thường thôi. Đã bảo không khác gì C# mà :))

KẾT

Giới thiệu về Powershell thế cũng đủ rồi nhỉ. Với bài viết sau mình sẽ tập trung đưa cái đoạn script hay ho của Powershell mà mình đang sử dụng để nghịch vớ vẩn trong thời gian làm việc bận rộn ở công ty :v TO BE CONTINUED

tumblr_ng6oke7j1k1sxr61eo1_1280

 

 

THAM KHẢO

http://ss64.com/ps/syntax-compare.html

http://www.computerperformance.co.uk/powershell/powershell_if_or.htm

http://www.tomsitpro.com/articles/powershell-comparison-operators-conditional-logic,2-850.html

Advertisements

3 thoughts on “Trở thành chuyên gia hệ thống cùng siêu sò (phần 2)

  1. Pingback: Xây dựng hệ thống CI với Powershell | Code, code and more code

  2. Pingback: Tự động tán gái qua SMS (Trở thành chuyên gia hệ thống cùng siêu sò phần 5) | Code, code and more code

  3. Pingback: Tớ đã học python như thế nào | Code, code and more code

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s