unix

Tập lệnh shell là một chương trình máy tính được thiết kế để chạy bởi Unix / Linux shell, có thể là một trong những chương trình sau:

GNU Bourne-Again Shell

Shell là một trình thông dịch dòng lệnh và các hoạt động điển hình được thực hiện bởi các tập lệnh shell bao gồm thao tác tệp, thực thi chương trình và in văn bản.

Tp lnh Shell m rng

Các tập lệnh shell có một số cấu trúc bắt buộc cho biết môi trường shell phải làm gì và khi nào thì thực hiện. Tất nhiên, hầu hết các script đều phức tạp hơn script trên.

Sau cùng, shell là một ngôn ngữ lập trình thực sự, hoàn chỉnh với các biến, cấu trúc điều khiển, v.v. Cho dù kịch bản có phức tạp đến đâu, nó vẫn chỉ là một danh sách các lệnh được thực hiện tuần tự.

Tập lệnh sau sử dụng lệnh đọc lấy đầu vào từ bàn phím và gán nó làm giá trị của biến PERSON và cuối cùng in nó trên STDOUT.

#!/bin/sh

# Author : dongthoigian
# Copyright (c) dongthoigian.net
# Script follows here:

echo "What is your name?"
read PERSON
echo "Hello, $PERSON"

Đây là một đoạn chạy mẫu của tập lệnh –

$./test.sh
What is your name?
dongthoigian 
Hello, dongthoigian
$

Phần tiếp theo của hướng dẫn này sẽ trình bày chi tiết về Unix / Linux Shell Scripting.

Unix / Linux – Shells là gì?

Shell cung cấp cho bạn một giao diện với hệ thống Unix. Nó thu thập đầu vào từ bạn và thực thi các chương trình dựa trên đầu vào đó. Khi một chương trình kết thúc thực thi, nó sẽ hiển thị đầu ra của chương trình đó.

Shell là một môi trường mà chúng ta có thể chạy các lệnh, chương trình và kịch bản shell của mình. Có những hương vị khác nhau của một shell, cũng như có những hương vị khác nhau của các hệ điều hành. Mỗi hương vị của shell có một tập hợp các lệnh và chức năng được công nhận riêng của nó.

Shell Prompt

Dấu nhắc, $ , được gọi là dấu nhắc lệnh , được đưa ra bởi trình bao. Trong khi lời nhắc được hiển thị, bạn có thể nhập lệnh.

Shell đọc thông tin đầu vào của bạn sau khi bạn nhấn Enter . Nó xác định lệnh bạn muốn thực thi bằng cách xem từ đầu tiên của đầu vào của bạn. Một từ là một tập hợp các ký tự không bị gián đoạn. Dấu cách và tab tách các từ.

Sau đây là một ví dụ đơn giản về lệnh date , hiển thị ngày và giờ hiện tại –

$date
Thu Jun 25 08:30:19 MST 2009

Bạn có thể tùy chỉnh dấu nhắc lệnh của mình bằng cách sử dụng biến môi trường PS1 được giải thích trong hướng dẫn Môi trường.

Các loi v

Trong Unix, có hai loại shell chính:

  • Bourne shell – Nếu bạn đang sử dụng Bourne-type shell, ký tự $ là lời nhắc mặc định.
  • C shell – Nếu bạn đang sử dụng C-type shell, ký tự% là lời nhắc mặc định.

Bourne Shell có các danh mục phụ sau:

  • Vỏ Bourne (sh)
  • Korn shell (ksh)
  • Bourne Again vỏ (bash)
  • Vỏ POSIX (sh)

Các vỏ loại C khác nhau theo sau:

  • C shell (csh)
  • TENEX / TOPS C shell (tcsh)

Phần mềm Unix gốc được viết vào giữa những năm 1970 bởi Stephen R. Bourne khi ông đang làm việc tại AT&T Bell Labs ở New Jersey.

Bourne shell là shell đầu tiên xuất hiện trên hệ thống Unix, do đó nó được gọi là “shell”.

Bourne shell thường được cài đặt dưới dạng / bin / sh trên hầu hết các phiên bản Unix. Vì lý do này, nó là lớp vỏ được lựa chọn để viết các tập lệnh có thể được sử dụng trên các phiên bản Unix khác nhau.

Trong chương này, chúng ta sẽ trình bày hầu hết các khái niệm Shell dựa trên Borne Shell.

Tp lnh Shell

Khái niệm cơ bản về shell script là một danh sách các lệnh, được liệt kê theo thứ tự thực hiện. Một kịch bản shell tốt sẽ có các chú thích, đứng trước dấu # , mô tả các bước.

Có các bài kiểm tra có điều kiện, chẳng hạn như giá trị A lớn hơn giá trị B, các vòng lặp cho phép chúng tôi xem qua một lượng lớn dữ liệu, tệp để đọc và lưu trữ dữ liệu cũng như các biến để đọc và lưu trữ dữ liệu và tập lệnh có thể bao gồm các hàm.

Chúng tôi sẽ viết nhiều kịch bản trong các phần tiếp theo. Nó sẽ là một tệp văn bản đơn giản, trong đó chúng ta sẽ đặt tất cả các lệnh của mình và một số cấu trúc bắt buộc khác để cho môi trường shell biết phải làm gì và khi nào cần làm điều đó.

Các tập lệnh và chức năng của Shell đều được thông dịch. Điều này có nghĩa là chúng không được biên dịch.

Tp lnh mu

Giả sử chúng tôi tạo một tập lệnh test.sh. Lưu ý rằng tất cả các tập lệnh sẽ có phần mở rộng .sh . Trước khi thêm bất kỳ thứ gì khác vào tập lệnh của mình, bạn cần thông báo cho hệ thống rằng một tập lệnh shell đang được khởi động. Điều này được thực hiện bằng cách sử dụng cấu trúc shebang . Ví dụ –

#!/bin/sh

Điều này cho hệ thống biết rằng các lệnh tiếp theo sẽ được thực thi bởi trình bao Bourne. Nó được gọi là shebang vì ký hiệu # được gọi là hash, và dấu! ký hiệu

Để tạo một tập lệnh chứa các lệnh này, bạn đặt dòng shebang trước rồi thêm các lệnh

#!/bin/bash
pwd
ls

Nhn xét Shell

Bạn có thể đưa nhận xét của mình vào kịch bản của mình như sau:

#!/bin/bash

# Author : dongthoigian
# Copyright (c) dongthoigian.net
# Script follows here:
pwd
ls

Lưu nội dung trên và làm cho tập lệnh có thể thực thi được –

$chmod +x test.sh

Tập lệnh shell hiện đã sẵn sàng để được thực thi –

$./test.sh

Khi thực hiện, bạn sẽ nhận được kết quả sau:

/home/amrood
index.htm unix-basic_utilities.htm unix-directories.htm
test.sh unix-communication.htm unix-environment.htm

Lưu ý – Để thực thi một chương trình có sẵn trong thư mục hiện tại, hãy sử dụng ./program_name

Tp lnh Shell m rng

Các tập lệnh shell có một số cấu trúc bắt buộc cho biết môi trường shell phải làm gì và khi nào thì thực hiện. Tất nhiên, hầu hết các script đều phức tạp hơn script trên.

Sau cùng, shell là một ngôn ngữ lập trình thực sự, hoàn chỉnh với các biến, cấu trúc điều khiển, v.v. Cho dù kịch bản có phức tạp đến đâu, nó vẫn chỉ là một danh sách các lệnh được thực hiện tuần tự.

Tập lệnh sau sử dụng lệnh đọc lấy đầu vào từ bàn phím và gán nó làm giá trị của biến PERSON và cuối cùng in nó trên STDOUT.

#!/bin/sh

# Author : dongthoigian 
# Copyright (c) dongthoigian.net
# Script follows here:

echo "What is your name?"
read PERSON
echo "Hello, $PERSON"

Đây là một đoạn chạy mẫu của tập lệnh –

$./test.sh
What is your name?
dongthoigian
Hello, dongthoigian.net
$

Unix / Linux – Sử dụng các biến Shell (xem thêm)

Để lại một bình luận