Lập trình kịch bản trong Linux: Giới thiệu (1)

Bash_shell

Hệ điều hành Linux hiện nay đang rất phổ biến với các bản phân phối như OS, Ubuntu, Fedora hay Redhat. Nhưng nếu chỉ sử dụng với các ứng dụng đơn thuần, chúng ta sẽ không khai thác được sức mạnh thực sự bên trong Linux. Tôi nghĩ rằng lập trình kịch bản là một điểm mạnh vượt trội của Linux so với Window. Lập trình kịch bản được hiểu như là chúng ta có một file data đầu vào chúng ta cần thao tác trên các data đó như tìm kiếm, sao chép, hoặc sử đổi, một chương trình kịch bản sẽ giúp chúng ta làm việc đó rất dễ dàng và mạnh mẽ. Vậy chúng ta làm thế nào để tạo ra một chương trình kịch bản làm việc tốt trên Linux?, đó chính là mục đích tôi giới thiệu với các bạn tài liệu này. Tài liệu bao gồm nhiều phần bắt đầu từ cơ bản tới nâng cao. Phần I bao gồm các khái niệm cơ bản về Bash shell, môi trường lập trình cũng như các ví dụ đơn giản. Phần II giới thiệu về SED, đây là công cụ mạnh mẽ để chỉnh sửa và thao tác trên file văn bản. Phần III giới thiệu về AWK, đây là công cụ rất mạnh mẽ trong lập trình kịch bản, nó có thể thao tác trên văn bản, trích xuất dữ liệu và xử lý dữ liệu bao gồm cả các phép tính toán học. Phần IV sẽ giới thiệu nâng cao những gì bạn có thể làm đối với một chương trình kịch bản. Vì tôi không phải chuyên gia trong lĩnh vực Linux, do đó tôi dùng các chương trình kịch bản như các công cụ hỗ trợ cho công việc chính của tôi là nghiên cứu về Vật lý. Vì vậy tôi nghĩ rằng song song với việc chúng ta sử dụng các ngôn như cao cấp khác như C, Fortran, việc sử dụng kết hợp với các chương trình kịch bản sẽ giúp mọi thứ giản tiện hơn rất nhiều. Và hơn tất cả, hi vọng tài liệu này sẽ bổ ích với các bạn.

Kịch bản Hello World

Thông thường khi chúng ta nói đến lập trình kịch bản trên Linux, nghĩa là nói đến một shell. Trước khi bắt đầu ví dụ đơn giản với shell, các bạn cần phải nắm được một số lệnh cơ bản trong linux như cd, ls, rm hoặc chmod. (nếu bạn chưa biết các lệnh trên, bạn có thể tham khảo qua bài viết của tôi: https://nguyentuanhung.wordpress.com/2013/05/03/nhung-dong-lenhlinux-
huu-ich-useful-linux-tools/). Mọi chương trình kịch bản đều chạy trên cửa sổ Terminal của Linux, do đó đầu tiên bạn hãy mở cửa sổ Terminal. Sử dụng trình soạn thảo đơn giản như nano để tạo file hello.sh như sau:

1
(>‿♥)~$ nano hello.sh                                               

sau đó soạn thảo đoạn chương trình sau:

1
2
3
4
#!/bin/sh
###################
# hello.sh
echo "Hello World!"                                                 

đây là kịch bản xuất ra màn hình dòng chữ “Hello World!”. Dòng đầu tiên có nghĩa là bạn sử dụng Bash shell để thực thi kịch bản. Để ghi chú bạn sử dụng # và echo là lệnh xuất ra màn hình. Đối với nano, sau khi soạn thảo xong, để lưu file chúng ta sử dụng tổ hợp phím Ctrl+X và chọn Y. Sau khi file được lưu, chúng sẽ ở dạng file văn bản, để chuyển thành file thực thi bạn dùng lệnh chmod như sau:

1
(>‿♥)~$ chmod +x hello.sh                                                

Để kiểm tra file hello.sh đã là file thực thi chưa bạn dùng lệnh sau:

1
2
(>‿♥)~$ ls -la
-rwxr-xr-x 1 nguyen staff 42B Jul 8 20:59 hello.sh                       

Nếu có kí hiệu x như trên nghĩa là file hello.sh đã là file thực thi. Nào giờ chúng ta xem thành quả bằng cách thực thi kịch bản trên như sau:

1
2
(>‿♥)~$ ./hello.sh
"Hello World!"                                                           

Giờ chúng ta sẽ đi tới một kịch bản nâng cao hơn một chút như sau:

1
3
4
5
6
7
#!/bin/sh
###################
# name.sh
echo "Name:"
read name
echo “Hello, $name”                                              

file kịch bản này sẽ yêu cầu bạn nhập từ bàn phím và xuất ra màn hình thông qua biến name. Thực thi file như sau:

1
2
3
4
5
(>‿♥)~$ chmod +x name.sh
(>‿♥)~$ ./name.sh
Name:
Nguyen
"Hello, Nguyen"                                               

Hi vọng với sự khởi động này các bạn sẽ hứng thú với lập trình kịch bản trong Linux. Trong phần tiếp theo tôi sẽ giới thiệu với các bạn về cách làm việc trong môi trường Bash.

Các bạn muốn tải bản PDF cho bài học trên có thể tải ở địa chỉ sau:

Lập trình kịch bản trong Linux: Giới thiệu (1)

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